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.
For example, should these really be ControlState type?