Added SteppedSlider; supersedes MotorSlider & pals

The old MotorSlider, along with its Integer(Slider)Field and
LimitedRangeCheckbox, used to provide stage controls. However, with the
recent upgrades to the device manager, we needed something more flexible
-- a slider that ostensibly operated in floating-point (note the
'ostensibly' -- more on that in a moment) and could be rescaled for any
kind of stage.

Hence the introduction of the SteppedSlider. It converts a range of
doubles with a known step size into a range of integers, hidden behind the
slider interface. It also wraps up the increment/decrement, limit-range,
and updateable text box features into a single class (though the text box
can be moved wherever you like).

Technically, the slider does *not* operate in floating-point. This is more
or less the point, though; pressing + should increment by the minimum
possible motor step -- for Picard motors, 1.5 um. This can vary, but is in
general NOT a single unit of '1'. Integers don't work for this. So the
slider maps a range of integers onto multiples of the step size. It's
imperfect, and the solution to the cyclic update loop is inelegant, but it
works, and it *feels* clean.

Signed-off-by: Luke Stuyvenberg <stuyvenberg@wisc.edu>