Change SOCKS5.ws to be drop in WebSocket compatible

Making it support 'new' was tricky. Javascript and efficient metaclasses are awkward bedfellows.