common: Allow parsing command messages without a command

If no command parameter is specified to cockpit_transport_parse_command()
allow skipping the command field.
ws: Support for sideband channel WebSockets

These are for channels that need a lot of throughput like SPICE
and VNC, where we want to avoid splicing and prefixing everything
with a channel id.

These are separate WebSockets that are individual channels. They
are opened with a query string containing the JSON encoded "open"
command message. Once open, all data sent through the WebSocket
is part of the payload of that channel.

Closes #1540
playground: Add a bit of a speed testing page
WIP a simple VNC example

 * This needs a virsh based selector to list ports to choose
   from of virtual machines running with VNC available.