simple obfuscator for the transport layer

This makes the transport layer use an Obfuscator for all of the traffic it sends and receives. Obfuscator is a small interface with two methods, obfuscate() and deobfuscate(), which both accept and return an ArrayBuffer.

Right now, there's just a dumb "Caesar Cipher" obfuscator. This must be configured with a key and this key is supplied by the UX and passed from UX -> transport -> obfuscator. This pull request doesn't seriously consider how to exchange key information; I expect to answer that question during the hackathon as we consider, more generally, how to package turn-relay for use by socks-rtc.

Tested with turnutils_uclient.