Also, implement a software watchdog to make sure that the main real-time
modules are actually being run. Provide a panic facility, also giving blink
codes to indicate the panic reason.
This brings in an implementation of some general matrix manipulation routines,
not all of which are used at teh moment.
Output the DCM on the UART at 50Hz for the host to display it usefully.