Use codecs.getreader instead of manually calling .decode('utf-8') on the input buffer to avoid splitting multi-byte characters. Fixes #15.
Support for buf_size parameter in the Python backend. Tests for UTF-8 character split.
Cleaner test_utf8_split.