Added gtest.

The infrastructure is there, so now we just need to write actual tests.
Tweaks to make it build on Linux.
Added a test for Cell. It doesn't need much, but it caught a potential bug.
Added BoardTests.

Most of the functions in Board are pretty simple (< 5 lines of logic), so
they probably don't need to be tested.

This may come back to bite me.
Renamed gtest to test.
Fixed issue with hash collisions on Cell.
Cleaning up CMake files and fixing warnings on VS builds.
Warning free on Linux.
OS X Bundles are broken right now, but the raw executable works.
Moved settings out of Game and into a Settings class.
Renamed headers. 'foo.h' has become 'Foo.hpp', likewise for their corresponding source file.
Added scrolling around with arrow keys, cleaned up the event switch, and
further separated graphics-library logic from Game's design.