As a self-proclaimed VT100 expert, I have to say this is impressive! Yours is nicer than my VT100 emulator too: mine is only monochrome (though I recently added grayscale glyphs) and only 60 columns by 20 rows. Each character is 4x6 pixels (the screen 240x128). Mine doesn't even support setting top and bottom margins for the scrolling region, or double-width and double-height lines! I found it to be sufficient for some full-screen applications like "links", though.
How did you implement your emulator? Did you write a state machine? I used the pages at http://vt100.net/emu/dec_ansi_parser
(which contains a very useful state diagram) and http://vt100.net/docs/vt100-ug/
to write my emulator. I haven't tried connecting mine to a Linux system yet, but I plan to do that before too long (if I can figure out how to make TiEmu act like a virtual serial port).