First working test for the new AssetHandler code

* AssetStore is a template class for storing AssetHolders
* AssetHolder is a template class that holds a pointer to the asset
* AssetStore has to be inherited from and subclasses must implement 2 methods
	- Load
	- Unload
* Subclasses of AssetStore can hold any other data they need to be able to Load and Unload data
* Move the inline MakeX methods from DXRenderer to DXInclude as free functions
* Change InstanceID typedef from long to unsigned long
Some brainstorming.

* Add a new class diagram with ideas for action dependencies and flow.
* Remove Spritesheet from Planning document.
Small change in GameContext

* GameContext now runs the creation method after the constructor returns by calling Create on the Context
* Engine calls Create on Context after it has been emplaced into the context map
* AssetStore now uses the typedefs everywhere, and the typedefs are public
* Add an alternate GameContextEvent typedef, which isn't a function pointer but rather an std::function object
Modify Clock implementation

* Clock now has a public constructor
* Clock inherits from ITimerComposer
* ITimerComposer is a public interface class with a Register and Unregister methods
* ITimer now has a link to it's composer and an id of it's location in it's composer
* CompositeTimer is a special Timer type that just forwards the AdvanceTime call to all it's children
* Engine now has an instance of Clock
* GameContexts now have an instance of CompositeTimer