Adding UI_Write and UI_PutChar, and color support

gfx_t is a color pair which can be generated with
gfx(foreground,background).

UI_Write is meant to be robust, even if eventually it needs to wrap
multiple different functions. Currently it wraps text fairly
intelligently and can handle newlines. In the future it would be nice
for it to also handle color-changes and/or advanced formatting.
Build script changes