Simplified the GUI event system used in simpletest.
Added a safer & easier to use event listener, IGUISingleEventListener to the SimpleTest example.
Merge branch 'master' of https://github.com/RuntimeCompiledCPlusPlus/RuntimeCompiledCPlusPlus
Adding Singleton macro REGISTERSINGLETON which prevents more than one object from being constructed.
Added option for auto constructing singletons.
Moved construction of heap allocated members from init into ctor.
Used auto construct singleton for MainObject, and modified initialization order so that this works.
Merge remote-tracking branch 'doug/master' into KytheraSpecific

Conflicts:
	Aurora/Examples/SimpleTest/Environment.cpp
	Aurora/Examples/SimpleTest/Environment.h
	Aurora/Examples/SimpleTest/Game.cpp
	Aurora/Examples/SimpleTest/InputManager.cpp
	Aurora/Examples/SimpleTest/MainMenu.cpp
	Aurora/Examples/SimpleTest/MainObject.cpp
	Aurora/Examples/SimpleTest/SplashScreen.cpp
	Aurora/Systems/GUISystem/GUIElement.cpp
	Aurora/Systems/GUISystem/GUIElement.h
	Aurora/Systems/IGUIDocument.h
	Aurora/Systems/IGUIElement.h