SPA Channels

This PR implements `SPAChannel`, an object respecting the same contract as `WebRTC.DataChannel`.

Trello card: https://trello.com/c/Dmm17s5K