name refactoring and hierarchy changes

unfinished
collisions works again
Some name and hierarchy changes

TODO:

* remove update callback method to GuiObject
* wondering how to prevent unwanted click events after mousedown and
mouseup.