Use the more powerful signatures module to display function argument signatures. In particular this works better for functions wrapped with functools.wraps (at least on Python >= 3.4)
Allow widget views to be loaded from require modules

This required refactoring things that create widget views to use
callbacks instead of return values.
Make changes suggested by @jdfreder
Fix logic
Put callbacks for create_view and create_child_view in options

And add errback support
Clean up some JS code
Remove superfluous error checking
Fix ansispan() to ignore stray [0m
Use more yellowish color for ansiyellow
Test IPython.utils.fixConsole() (really ansispan())
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