Initial UI.

Early UI code. Needs window management system but widget management seems okay. Label widget seems pretty much solid. Textbox widget is almost there; it needs to handle custom repeat delay intervals and carrot blinker.