Draw tab characters

Some support for multi-column characters was already added in #29, so this just utilises that with a few tweaks to support tab characters as well.
[Chinese Japanese Korean](https://en.wikipedia.org/wiki/CJK_characters). I stole the name from `UnicodeChar::width`’s source.