Surrogate Pair Encodings

Follow up to #9. We're going to need to do this right to get emoji working. And no software is production ready without :hankey: :wink: 

/cc @judofyr @svaarala @brianmario @aroben

Hrm, no functions from https://github.com/ruby/ruby/blob/trunk/pack.c are exported. This works, but it'd be nice if the transcoding process didn't have to create all these extra intermediate ruby objects.