websocket: The protocol can be chosen until halfway through handshake

Allow choosing the protocol as late as possible. It could depend on
other factors such as the flavor of WebSocket standard being spoken.