Add initial pass of recording functionality:

* Need to expose this via GUI buttons
* Recording system can also record specific busses, to allow recording
  of sub-parts of the system in the future