Tiny UTF-8 ANSI/VT102 terminal abstraction in C