Tile layer: allow non-integer zoom levels

Allow arbitrary zoom levels, such that for non-integer zoom levels the
images from the next lower resolution integer zoom level are expanded on
the tiles. Tiles can now have floating point dimension, but are expanded
by one pixel at certain boundaries to compensate for browser position
rounding. No interface is provided for selecting non-integer zoom.
Slider: add major and minor steps for finer zoom

Slider now optionally takes two sets of steps: major and minor. Sliders
normally behave by snapping to minor steps during scrolling and bound
key action. Modifying any of these actions with shift will snap to major
steps. By default major and minor steps are identical for compatibility.

The previous integer zoom levels are now major steps, and minor steps
are in tenths. Add major steps every 10 slices for z navigation.
All other sliders are unchanged.

Also optionally allow arbitrary values to be typed into slider text
inputs. For example, "0.58" may be typed into a zoom slider. The slider
handle reflects manually input values by interpolating between set
values. Manually input values are clamped within the extrema of values
configured for the slider. Discrete level snapping is preserved for all
other slider interactions.

Closes acardona/CATMAID#686.
Init: support non-integral zoom in URL parameters
SVG overlay: round coordinate values in console

Non-integer zoom levels create long subpixel coordinate values, so round
them in the console display to conserve space.