Native

This branch revisits UI components with attention to using native html elements where possible, no default styles, and less extraneous wrapping.  We also added support for glyphs, form labels, and error handling.