web socket channel: three retries -> message buffer before ws onopen

the "three retries" fashion of handling messages before the opening of
the web socket led sometimes to reordering of messages. Now a message
buffer contains all the messages that appear before the web socket is
established and the messages of the buffer are being sent in the right order.