support buffers in comm messages

- add buffers arg to comm Python api
- support binary websocket messages when buffers are present
- reimplement utf8 in javascript, because javascript is the best
s/unserialize/deserialize
use utf8.js

move message serialization to kernel.serialize module
support binary message from javascript
use TextEncoding for string<->ArrayBuffer

requires text-encoding js polyfill, for now
install text-encoding polyfill
test websocket-friendly binary message roundtrip

Python-side
include buffers when resending message

in zmq.session
test binary websocket messages

only runs on slimerjs for now
unsigned ints for offsets

because signed ints for sizes is icky
move binary msg test to services/serialize
update components to master

text-encoding has been merged
cleanup serialize per review
Merge pull request #6110 from minrk/binarycomm

support binary buffers in comm messages