Write cursors to TextWriter directly instead of creating strings

- Write cursor manually to the TextWriter instead of using the JsonTextWriter.
- Changed GetCursor on ISubscriber to WriteCursor is Action<TextWriter>.
- Get rid of MakeCursor, MakeCursorFast and MakeCursorSlow since they're unneeded.
- Moved LongPollingTransport message bus logic into the transport itself.
- Removed Receive overload on ITransportConnection that was made specifically for LongPolling.

This changes shows 40% improvement in throughput since we're not creating a crazy amount of strings per message anymore. Writes go directly into the tiny buffer or get written directly to the WebSocket or Response.