Simple WebSocket client wrapper supporting reconnection on demand.