Add premessage-deflate extension handler for HTTP WebSocket

Add premessage-deflate extension handler for HTTP WebSocket.

Motivation:
- Need to compress HTTP WebSocket frames payload.

Modifications:
- Remove UTF8 checking of WebSocketFrames from frame decoder in order to
allow compressed frames to go to the next handler.
- Add a WebsocketPremessageDeflateHandler to initialize the frame deflater/inflater if client is compatible with deflate extension.

Result:
First version of the implementation for feedback.
Good point... So all good

> Am 08.07.2014 um 17:49 schrieb Frederic Boucher <notifications@github.com>:
> 
> In codec/src/main/java/io/netty/handler/codec/compression/ZlibCodecFactory.java:
> 
> > @@ -58,7 +61,8 @@ public static ZlibEncoder newZlibEncoder(ZlibWrapper wrapper, int compressionLev
> >      }
> >  
> >      public static ZlibEncoder newZlibEncoder(ZlibWrapper wrapper, int compressionLevel, int windowBits, int memLevel) {
> > -        if (PlatformDependent.javaVersion() < 7) {
> > +        if (PlatformDependent.javaVersion() < 7 ||
> > +                windowBits != DEFAULT_JDK_WINDOW_SIZE || memLevel != DEFAULT_JDK_MEM_LEVEL) {
> You mean to test if jZLib or JSDK implementation is in the classpath ?
> 
> Because if windowSize is different from the default one (<15) and jzlib is not present, we have to fail to avoid the encoder to generate a too large dictionary that the decoder cannot handle.
> 
> —
> Reply to this email directly or view it on GitHub.