Encode strings with CESU-8

Related to #11.

We need to figure out in which cases (invalid data?) this will raise errors.
> Since you're using raw bytes

The `\u{NNNNN}` syntax isn't using raw bytes. It's specifying a Unicode codepoint. The string's encoding will be whatever the [script encoding](http://www.ruby-doc.org/core-2.1.5/Encoding.html#class-Encoding-label-Script+encoding) is. It's UTF-8 by default in newer Rubys, but if the script encoding were anything else then this line would be wrong. You'd be taking a non-UTF-8 string and marking it as UTF-8 without actually transcoding it.