COMMON: Rename GraphicsManager and GameStateManager base classes

In preparation for making them abstract
COMMON: Move common graphics code to the base class

So every project doesn't have to keep reinventing the wheel.
COMMON: Use nullptr instead of 0
COMMON: Add global color variables
COMMON: Add convienience functions to load a vertex/pixel shader
COMMON: Set m_d3dInitialized once Initialize() finishes
COMMON: Fix "no return" error
COMMON: Move d3d_initilization checking to child classes
CRATE_DEMO: Update GameStateManager to use new base class name
CRATE_DEMO: Remove all logic that is now in GraphicsManagerBase
CRATE_DEMO: Create the GraphicsManager after the GameStateManager

So the GameStateManager can be passed to the GraphicsManager
COMMON: Update HalflingEngine with GraphicsManager/GameStateManager name changes
COMMON: Update project files
CRATE_DEMO: Update project files
CRATE_DEMO: Create the shaders
CRATE_DEMO: Create Vertex struct to hold vertex info
CRATE_DEMO: Create MatrixBufferType struct to hold current world, view, and projection matricies
CRATE_DEMO: Create an instance of MatrixBufferType
CRATE_DEMO: Use default implementation of GamePaused/GameUnpaused
CRATE_DEMO: Load compiled shaders during Initialize