TextArea: actually, we should scroll to the top when we clear a TA, not in SetText
Font: clarify logic
TextContainer: fix collapsing content correctly

content collapse should be handled by adjusting the region height, not the draw point y
this will fix the TA offset hack and probably some other things
remove the RestrainedTextContainer class

lets just handle this in TA so we have more control over the process
Removing FlagsChanging method

it was only ever used as a hack
StringSize: add a parameter to retrive the number of chars

in the event the max size imposes a limit the caller would like to know if the entire string can fit.
TextContainer: optimize performance by separating layout from drawing

The change isnt as big as it looks. Really its mostly moving parts of the draw methods into layout methods.

the OpenGL driver has to redraw everything *every* frame. that makes text layout+drawing really taxing. This compounds the problem with the GL driver not being optimized for font printing yet.

this has additional benifits aside from OpenGL tho. Now we can know content heights as soon as it is appended to a container, which makes dialog handling easier. We can use a cleaner TextArea::Draw method now as well.
TextContainer: fix mass removal of content

RemoveContent would cause a relayout to occur which caused removing all content in a region to remove all content in that region and below. made a private RemoveContent method to differ the layout call untill we are done messing with existing content.
ContentAtPoint: start from the back

it makes more sense to return the most recent content (nerer to the end) because it will (in theory) display on top of other content if they were to overlap.
TextContainer: simpler/better way to call parent layout

just always do it at the end of the container layout
TextContainer: fix row collapse regression
TextContainer: bounding box should be empty if content is not found

fixes an exception crash
TextContainer: we need to combine with our parents offset...
TextContainer: adding more debug functionality
TextContainer: need to clear all the layout followint "it"

otherwise it could erroniously cause exclusions
General Cleanup
TextArea: reimplement dialog "paging"

before we had a bug where the nodes would start getting popped because the line limit was reached.
TextContainer: implement "flexible" content (only on TextSpan for now)

width auto sizes to remainder of container width from draw point
need to adapt this to containers too...
TextLayout: bail out if iterator is already == end
TextArea: fix text scroll position after ending dialog

if the MTA resized then the text wasnt scrolled to the bottom like we would expect