This only makes a difference when CHARBUF_UTF16 is in use, which it
normally isn't. I suspect CHARBUF_UTF16 doesn't currently work for
other reasons (CHARBUF_UTF16 was an experiment before I wrote the
GHC.IO.Encoding.UTF* codecs), but this patch at least makes it
slightly closer to working.