Adds bindEventOnce to EventHandler

 - only bind the event if the function is not already bound
Adds initial GuiScreen API with a few handle events

- Ability to create a GuiButton 'new GuiButton'
- recieve event when screen changes by binding Comcraft.displayScreen
- Add an action handler to some screens like GuiMainMenu