This allows the client object to be observed using the on()
method just like with the mixer and transport components,
instead of passing separate callbacks.
See mixer-demo/js/main.js for an example.
Terminology used by server and client was starting to diverge.
C++ classes ArdourStrips and ArdourGlobals classes have been
renamed to ArdourMixer and ArdourTransport respectively.
State node values for transport functionality have been simplified
and prefixed with 'transport_' to match what was done for strips.
Replace previous callback based basic client with an easier
to use object-oriented API that further abstracts the low level
details of the WebSockets Server surface messaging protocol.
All built-in web surface demos were updated to use the new API.