Add SockJsSessionFactory
Refactor SockJS and WebSocket layer configuration

Add HandlerProvider<T> class
Modify HandshakeHandler to accept + adapt WebSocketHandler at runtime
Modify SockJsService to accept + adapt SockJsHandler at runtime