add the 'reset color' escape codes

i think these are xterm-specific, but they seem to be not uncommon
log unhandled escape sequences
clean up some stuff with static functions
line lengths
factor out font creation
store the font components, not the font itself

probably just for now, but this should make it easier to change font
attributes
support bold fonts
and italics
and underline support