Events class supports clearing all messages
	You can still use any type, without needing to make sub-classes
	This is possible with typeid and type_index
Moved Events class into "es" namespace
Improved "add" function in StateManager to forward arguments
	This removes the need to manually make a unique_ptr
Note: Not using clearAll yet because of event ordering issues