Graphics System Improvements

Implemented a Direct3D device manager which handles memorization of render states, bound textures, and other state changes to the device, through this interface global model and basic shape batching is handled and they are processed during state changes. A similar interface will need written for OpenGL 3 and OpenGL 1 this also helps to minimize unnecessary state changes to absolutely 0 and not for just texture binding. These interfaces will later help to easily replace the fixed function pipeline in HLSL and GLSL.