Add CloseFrameSender interface and factor out logic of WebSocketChannelSession