Updated event bus to publish MouseButtonEvent and MouseMoveEvent [CEL-30]
Updated EventSubscriber to accept MouseButton~ and MouseMoveEvents [CEL-30]
Updated last KeyCode index to save a little extra space when creating the keyMap in the InputManager
Updated GloveWindow and InputManager to handle mouse buttons and mouse movement [CEL-30]
Added gtest files
Updated CMakeLists to generate a separate tests project and don't include main.cpp in glove engine library
Added == and != operators to Transform struct
Fixed issue in Transform struct not setting the initial globalTransform matrix correctly
Added tests for Transform struct
Merge branch 'master' into gtest
Added Google Mock framework support
Added GameObject mock class
Added Scenegraph tests
Updated Scenegraph to expose game object count
Merge branch 'program-options' into gtest
Fixed Scenegraph::CreateGameObject<> template function implementations
Fixed segf error when running InitializesCreatedGameObject scenegraph test
Added GloveCore initialization to gtest_main.cpp
Separated OpenGL renderer implementation and IRenderer interface [CEL-31]
Added support for multiple OpenGL rendering contexts and multiple windows [CEL-32]
Updated CMakeLists.txt to link against GLEWmx
Separated window implementation and IWindow interface [CEL-33]
Added missing virtual destructors to IRenderer and IWindow
Merge branch 'gtest'

Conflicts:
	src/core/GloveCore.cpp
Merge branch 'input-system'
Merge branch 'rendering-system'

Conflicts:
	src/core/GloveCore.cpp
	src/rendering/GloveWindow.cpp
	src/rendering/opengl/GLWindow.h
Fixed some merge derps