Instead of waiting for the websocket to really close, which can take a
long time because network latency, weechat inresponsiveness etc, we just
set our status to disconnected when user wants to disconnect, and we let
the websocket handle the close in its own time in the background.
If the user wants to reconnect this means there will be a new websocket
connection before the old one has failed, but this works just fine.