Refactored the depth stencil state members into their own class.
Refactored the clear parameters into their own state object.
Refactored rasterizer state into its own object.
Desktop GL context now syncs all of the depth stencil state.
Buffers now work with weak and unique pointers whenever possible.
Textures now work with weak and unique pointers whenever possible.