Better support for long-lived connections:
* Add support for sending responses using `request.accept()` and `request.send()`.
* That is now the recommended way to do chunked responses.
* This also provides support for long polling and SSE.
* Also add `RequestSet`, `request.sleep_while_connected()` and `request.wakeup()` for long polling and SSE.
* Websocket requests have a somewhat cleaner API.
Improved asset handler:
* Fix that HEAD requests on the asset handler util included the body in the response.
* Dont send compressed assets if compression does not help, and never compress videos.
* Fix/improve cache control header.
Further:
* Implement ASGI 3.0.
* More tests (full coverage for ws now too).
* Improved docs.