Have Numeric Axis re-layout on scale update if necessary.

Calls _computeWidth() and checks if there's enough room to show
everything. If not, calls _invalidateLayout().

We should switch to using a CachingTextMeasurer for it later on.

Close #903.
if `gutter > availableWidth` then this will never recompute, maybe a diff heuristic is needed?