Remove virtual inheritance from RendererOpenGL

Also make destructor virtual so that instances are properly destructed.
OpenGL renderer: Shuffle initialization code around and rename functions.
Rename GPU::Regs::FramebufferFormat to PixelFormat

This name better represents what the enum does, and is less overloaded
in the context. (The whole register the enum is part of is also called
'format'.)
Rework OpenGL renderer.

The OpenGL renderer has been revised, with the following changes:
 - Initialization and rendering have been refactored to reduce the number of
   redundant objects used.
 - Framebuffer rotation is now done directly, using texture mapping.
 - Vertex coordinates are now given in pixels, and the projection matrix
   isn't hardcoded anymore.
OpenGL renderer: Request a forward compatible context in citra-qt

This should fix context creation on OS X. Also requests a core context on all platforms in Citra-GLFW, for consistency.
Merge pull request #113 from neobrain/opengl_refactor

OpenGL Refactor
hid.cpp: Fixed crash when updating pad data while null

Fixes #137
Implemented graceful closing of the GLFW window, along with emulation.
Merge pull request #143 from archshift/graceful-quit

Implemented graceful closing of the GLFW window, along with emulation.
emu_window_glfw.cpp: Fixed graceful quitting

In PR #143, the name of the function IsOpen was originally ShouldClose, but was changed. The function's caller was changed to reflect this, but the return value wasn't.
Merge pull request #144 from archshift/graceful-quit

emu_window_glfw.cpp: Fixed graceful quitting
Only check OpenGL shader log if size is >1.

This prevents a crash when the buffer size returned by the driver is 0,
in which case no space is allocated to store even the NULL byte and
glGetShaderInfoLog errors out.

Thanks to @Relys for the bug report.
Merge pull request #145 from yuriks/shader-log-crash

Only check OpenGL shader log if size is >1.
Use config files to store whether SDMC is enabled or not

Before, it used to use whether the directory actually existed. As a result, .citra-emu/sdmc was never auto-created (something quite confusing to me until I read through the logs).
Common: Return from CreateFullPath early if the directory creation fails
Use std sized types instead of platform specific typedefs
Merge pull request #146 from yuriks/inttypes

Use std sized types instead of platform specific typedefs
Merge pull request #133 from archshift/sdmc-enabled

Use config files to store whether SDMC is enabled or not, auto-create SDMC dir.
Removed uses of raw c-string manipulation functions.
Don’t fail on empty filename in OpenFileDirectly, return the archive handle instead