Significantly improved SGUI

SGUI now has a window manager, and events are called in the proper
order. Higher up windows get events called before lower ones, and
visible focus changes take place when you click on a lower focused
window.