Master sync

Move internal clock into its own class.

This change makes EngineSync shorter (and easier to read) but my overall goal here is to move towards having an abstract virtual base class "Syncable" that all sync sources (RateControl, InternalClock, MIDIClock, etc.) implement. I think it would drastically simplify EngineSync if it didn't draw a distinction between a clock and a deck.