Implements #2 but could use some testing

glfw and glfw-rs still build in source, since
they will require further changes. I see this
happening for glfw-rs, but not glfw.
Merge branch 'ui'