Rework the FrameHandler API

- Split FrameHandler into 3 interfaces
- FrameHandler itself is notified for PING,PONG and CLOSE frames but without
  the payload as I don't see a real use case here in the high-level API
- AssembledFrameHandler which extends FrameHandler and has two methods to act
  on assembled TEXT and BINARY frames. Binary payload can be passed in as an
  array of ByteBuffer to allow the implementation to use more then one buffer
  when for example buffer pooling is used and it not fit in one buffer.
- PartialFrameHandler which extends FrameHandler and has two method to act
  on partial TEXT and BINARY frames

- Automatically handle PING (respond with PONG)
- Automatically handle CLOSE (respon with CLOSE) and close channel
- Automatically handle PONG (discard)