Expanded GuiManager, EventManager.

The classes now play nice with one another, and have very specific roles
(eventmanager wraps events in the adelaide event object and sends them
to where they belong; guimanager receives one event and decides what to
do with it).