Support compression

Add the permessage-deflate extension support for WebSocket, and http compression for polling. They are enabled by default.
Also you can disable the compression per message through the option of `send` method.

Related: https://github.com/Automattic/socket.io/issues/1148, https://github.com/Automattic/engine.io/pull/298