Replace clock calculation in EngineSync with InternalClock.

* InternalClock is an explicit class that manages the state of the internal
  clock.
* Add a virtual abstract base class "Clock" that other clocks will inherit from.

This paves the way to removing the distinction between a deck and a clock in
EngineSync with a "Syncable" virtual class that represents both.
At the beginning of the callback if the internal clock is master set the master beat distance to its beat distance.
Delete InternalClock when EngineSync shuts down.
MOC InternalClock.