Improve ranch errors for websockets

Wraps `:cowboy_websocket` in a `:cowboy_sub_protocol` and catches `:cowboy_websocket` handler errors and turns them into the MFA style errors that are parse-able by `Exception`.