Implement new UTF-8 decoder (#50)

The implementation is a translation of C99 code by [Bjoern Hoehrmann](http://bjoern.hoehrmann.de/utf-8/decoder/dfa/).