CMake cleanup

This cleans up the build system so that CMake can now be used to build on Windows using MSVC (including for x64).

To facilitate this some other changes were made:
 - Required CMake version bumped to 2.8.11
 - ~~Qt4 support was dropped. Qt5 is now required.~~ Qt4 support reinstated.
 - The in-tree GLFW binaries in `externals/` were updated from 3.0.2 to 3.0.4, and now both 32-bit and 64-bit versions are included.
 - GLEW was replaced with a glLoadGen generate loader, eliminating the necessity of having GLEW binaries.

This was tested on both Windows and Linux. I did not test on OS X, ~~and would like if someone did so to ensure I didn't break anything~~ @archshift tested it for me.

GLFW works fine on both platforms, ~~but Qt fails to initialize a context on Windows (All function pointers are loaded as stubs that return 0 or NULL.) and crashes with a segfault on Linux. These happen even on master, so I suspect they're driver or Qt-version related. I plan on working on these issues next.~~ Fixed by #75.
Some questions.
 * Did you write this code? If not, where is it from and how is it licensed? (license information should probably appear at the top)
 * Whats with the inconsistent spacing? (some indentations are spaces, some are tabs, etc. All should be 4 spaces)
 * Why is this a .c file instead of a .cpp?