Allowing ioloop to be passed to the WebSocket constructor, making setup.py just use the module instead of requiring a single-file directory.