Move Heatbeat class around to order controllers module.

Also added a comment header to denote start of lightbox controller implementations.
Moved periodic hardware controls from outputs to controller.

Removed the `OutputTicker` class from the `light` module and replaced its functionality in the `Metronome` class in the `controller` module. This reduces the number of threads that Lightbox uses and reduces potential resource contention and outputs running out of sync for synchronised transitions.

The per-output frequency and period are updated whenever outputs are added or removed, and when the controller command frequency is changed. This resolves #10.

Since individual outputs no longer create their own commands, they also no longer need a reference to the controller or their own index. This simplifies the creation of a Light object significantly.