finishes Clock module

the Clock doesn't tick at regular intervals but keeps an internal timer for when
the currently active player will timeout, and fires an event when that happens.

To get the most up-to-date reading of how much time a player has, the getTimeLeft
method can be used.  Pass a colour (optional, defaults to the active player).

When a player moves, call the playerMoved method.

There are no timing styles coded into the Clock, but the options it accepts cover
all the timing styles in various combinations, e.g.

{
        increment: 5,
        incrementComesFirst: true
}

for Fischer-style, or

{
        increment: 5,
        cappedIncrement: true
}

for Bronstein Delay, or

{
        delay: 5
}

for Simple Delay