Fix for interactive axisRange

Sets the axis range initially, before defaulting to the d3 scale to
control zoom/panning.
Fix everything!

Now works for
- Ordinal axes: with a start and end of range as the category name
- Interactive axes: Starts initially zoomed to the range, but allows zoom
  and pan in/out without breaking ticks
- Filtering: An axis with an auto-range will scale to the new data size
  if that data is filtered.

We purposefully do not auto-scale a value axis if the key axis has been
range-filtered, in case the axis has interactions enabled, and also to
give an indication of the scale of the filtered data in comparison to the
overall dataset. The value axis can still have a range manually set if
need be.