xNumericMin now returns xMin when either xMin or xMax is NaN.
Related Bounds2D functions now behave in the same way.

Change-Id: I1ef8ff0ad0633f3816ea90a6e398ee3eba0b1ed3
Simplified KeyTypeSelector.

Change-Id: I1d656930e9a30fe5ce5990108da064478462f8c4
Now rounding width,height and unsetting invalidation flags to prevent
infinite updates.

Change-Id: Ie92578602e2261b288af08785668b34a63e1dca9
override coordinate inputs now fill 100% width

Change-Id: Ife11e80a13b37e45304000e676261e3f2a41af6b
AxisLabelPlotter now only requires an interval to be specified.
Begin/end values are optional, and there is now an optional offset
value.
Labels are no longer drawn outside the screenBounds.

Change-Id: I7115a6be6630f0a415c462120b186efe95da1da3
A single GridLinePlotter can now draw both X and Y axis lines, requiring
only xInterval and/or yInterval to be specified.
Min/max values are now optional and there are now optional x,y offset
values.
Lines are now appropriately cropped based on screenBounds.

Change-Id: I629dd5747b7f7d7d7f85b12e403df499a0c1ff02