Color slider range constraints

This implements the clamping within the 0-1 range requested for colour slider behaviour in #99. Values outside the range may still be produced by holding down Shift while dragging or while using the increment keys. I did a quick review of our other uses of sliders (Timeline and Ramp UI) and decided that the behaviour was best implemented for all sliders rather than just colour pickers - the Timeline always clamps anyway and out-of-range values don't make much sense for Ramps either. Implementing in the base class will give us a consistent behaviour across the whole application as time goes on.