do not read past header in WebSocketClientHandshake
WebSocketBase::ready() reads at most one frame per call
add send_buffer_size parameter to connect{,_with_retry}(…)