Implement MultiHTTPProxyClient to increase streaming bandwidth by multiplexing
1. Don't use raw_streaming_callback and patch the inside iostream any more.
2. Stream media data as blocks.
3. Receive blocks in the callback of fetch().
4. Use a ring buffer to cache streaming data.
5. Control the number of concurrent connections with HTTP requests as tokens.
Lower the memory usage by releasing them timely and triggering gc whenever a incoming connection is closed.