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.
would it be better to use `graphemes()` here instead of `chars()`? Im not sure...

http://doc.rust-lang.org/guide-strings.html#indexing-strings