To avoid further floating-point comparison bugs, remove all usages of Bindable<{float,double}>, replacing them with their Bindable<Float,Double> counterparts.
Adds MinimumBeatLength to BeatSyncedContainer to make sure things don't get out of hand.
Also fixes counter rewinding issue and does optimizations.
Fix SPM calculation logic not handling paused clocks Co-authored-by: Dean Herbert <pe@ppy.sh>