Modifications on time and changes on drawing code

* GameContexts now .Reset() their timers when they activate
* the standard Util::Timer now has it's own _updatePeriod member
* Util::Timer method renamed from TimeToUpdate to HasUpdatePeriodElapsed
* all time classes now use floats
* Engine::Loop now purges input only if the context has been updated
* drawing code and action functions now expect data to be there by pointer or value
	- Texture and Spritesheet by reference, Timer by value
	- all functions should use a similar structure
* IState renamed to State, State renamed to ValueState