Initial graphics support.
* Low-level rendering support is provided via the Graphics, Shader, Program, VertexBuffer, Texture, and Sampler objects.
* Similar to how Window is implemented, these classes are wrapper classes around a library-specific implementation.
* Currently, only OpenGL is supported. Both Brimstone and your project must be built with BS_BUILD_OPENGL. DirectX 11 support is planned for the future.
* The following operations are supported:
  - Creating shaders, shader programs, vertex buffers, textures, and sampler
    objects
  - Enable / disable back face culling
  - Enable / disable scissor rectangle
  - Set scissor rectangle
  - Set viewport rectangle
  - Enable/disable blend (currently hardcoded to alpha transparency mode)
  - Swap buffers
  - Enable / disable vsync
  - Flushing the rendering pipeline

Headers with only typedefs within them will now be prefixed with a "D".
* Renamed include/brimstone/window/WindowImpl.hpp to include/brimstone/window/DWindowImpl.hpp for consistency with new naming scheme.

Moved WindowImpl header includes to src/brimstone/window/WindowImpl.hpp.