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:
 - Qt4 support was dropped. Qt5 is now required.
 - 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.

I also fixed an annoying warning and a bug in the Qt initialization code.

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.