* Also added an exception that throws at control creation time (much easier to spot) if this property is invalid.
* When jumping between draws the tables are rebuilt which destroys any vertical scrolling, so we save/restore it which means the same row will be at the top of the view. If there are fewer resources it'll just be as scrolled down as possible.
* All renderdoc code up to this point was written by me, history is available by request