Improve performance and stability

Further testing revealed that having more than 1 loco caused delays between
packets to be longer than the maximum 30ms making the system unusable.

I have reimplemented the way it is done, so that we can send packets much
more quickly and support any large number of locos at the same time. This is
achieved by not rebuilding the control packets every time, and doing it only
when an update is needed.

Additionally I have added a brake signal output, that allows me to
signal the booster that it should not power the tracks at all when the
controller is not running.