Allow custom InputStreamReader to read non-BMP

These multiple-char characters were causing EOFs to propagate before the
input was complete.

e.g. http://www.fileformat.info/info/unicode/char/10330/index.htm

Originally reported in https://github.com/trptcolin/reply/issues/104

There's further work that would be nice to do, like making non-BMP characters only take up 1 slot in the buffer for motions like arrow keys / backspaces - but a quick glance suggests that'll take much more work.