Replace GLEW with a glLoadGen loader.

This should fix the GL loading errors that occur in some drivers due to
the use of deprecated functions by GLEW. Side benefits are more accurate
auto-completion (deprecated function and symbols don't exist) and faster
pointer loading (less entrypoints to load). In addition it removes an
external library depency, simplifying the build system a bit and
eliminating one set of binary libraries for Windows.
Update GLFW to 3.0.4 and include x64 lib for MSVC
CMake cleanup

Several cleanups to the buildsystem:
 - Do better factoring of common libs between platforms.
 - Add support to building on Windows.
 - Remove Qt4 support.
 - Re-sort file lists and add missing headers.
Avoid LOGGING redefinition warnings.
Remove hand-crafted Visual Studio solution.
Merge pull request #69 from yuriks/cmake-cleanup

CMake cleanup
Removed common/atomic, instead using std::atomic
Removed the need for X11 on OS X

It only causes issues when someone (who doesn't need it) doesn't have it.
Merge pull request #89 from archshift/X11-OSX

Removed the need for X11 on OS X
Merge pull request #88 from archshift/remove-atomic

Removed common/atomic, instead using std::atomic
core: Pass string by reference in FetchFromPortName and DeleteService
ncch: inline declare some variables in LZSS_Decompress
ncch: Remove C-style struct typedefs

In C++ you can simply just declare it as is.
Merge pull request #94 from lioncash/misc

Minor cleanup in ncch.
Merge pull request #93 from lioncash/ref

core: Pass string by reference in FetchFromPortName and DeleteService
core: Make the ARM disassembler use std::string internally
Removed common/std_xyz, instead using the std header
Merge pull request #87 from archshift/remove-cruft

Removed redundant headers for std implementations
Merge pull request #95 from lioncash/disassembler

core: Make the ARM disassembler use std::string internally
Viewport scaling and display density independence

The view is scaled to be as large as possible, without changing the aspect, within the bounds of the window.
On "retina" displays, or other displays where window units != pixels, the view should no longer draw incorrectly.