Expose the initial HTTP request in WebSocket API

See discussion in #232 

Reverts previous attempt at solving the issue and introduce a new getInitialHttpRequest method

The previous method works fine for my purposes, but this feels like it results in a better flow (processing can be done after routing to the appropriate callback).

Feel free to pull it or drop it ;)