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.
That could happen if `gutter` is set to a huge value, or the axis is barely offered any width. However, there would be other bugs in that case.