This PR updates the socket transport code to swap between a Node web socket transport or a web one based on the `isNode` environment. It also adds unit tests to the browser tests that show we can connect in a browser.