Change ControlState typedef to double, and change all related floats/dou...

...bles to use it.

Fixes an off by 1 issue related to double->float->double conversion, and eliminates numerous warnings.
Are the `1.0f` and `-1.0f` still here for a reason, or were they missed?