start progress on WebSocket adapter

by no means complete, and is untested for the moment.
extract sendMessage function

also lay the framework for a queue of messages that should be sent when
a connection re-connects
create an error-free websocket connection

... with a few catches:

* id-key is explicitly defined in the adapter
* queued messages is set up, but does not actually flush
remove duplicate sass variable
use default cursor for disabled button
add styling for checkboxes
add transition to checkbox