CGUISliderControl: some cleanup and fixes

These are some cleanups and a fix concerning CGUISliderControl which I came across as part of #4512 which are isolated enough to go in separately.
* The first commit moves ISliderCallback into its own header file which is immer a better separation.
* The second commits cleans up the SPIN_CONTROL_TYPE_FOO mess which are defined in 3 different header files and are also "abused" for slider controls.
* The third commit fixes SetIntValue() and SetFloatValue()