Start of new gui handler system

- The gui handler gets the object, then asks it for the GuiElement
instead of processing it itself.
- Cleans up need for large and messy handler.