Fix the threading for GL Context in Qt5.
Connect the emu_thread start/finish to a moveContext slot.
Fix EmuThread loop by ensuring it exits properly.
Note: There is a pre-existing issue with booting a new game in that it keeps the old EmuThread.
The GL code now supports this but the Core still doesn't.
Pass format to the QGLWidget and use atomic instead of mutex.
Merge pull request #75 from xsacha/qt5

Fix threading for Qt5.
GSP: Add a helper function for convenience.
GSP: Implement SetBufferSwap.
GSP: Update framebuffer information when necessary.
Pica: Add debug utility functions for dumping geometry data.
Pica: Add debug utilities for dumping shaders.
Pica/CommandProcessor: Implement parameter masking.
Pica/citra-qt: Replace command list view and command list debugging code with something more sophisticated.
Pica/VertexShader: Fix a bug in the bitfield definitions and add the "negate" field for swizzlers.
Pica/Math: Improved the design of the Vec2/Vec3/Vec4 classes and simplified rasterizer code accordingly.

- Swizzlers now return const objects so that things like "first_vec4.xyz() = some_vec3" now will fail to compile (ideally we should support some vector holding references to make this actually work).
- The methods "InsertBeforeX/Y/Z" and "Append" have been replaced by more versions of MakeVec, which now also supports building new vectors from vectors.
- Vector library now follows C++ type promotion rules (hence, the result of Vec2<u8> with another Vec2<u8> is now a Vec2<int>).
Pica: Add support for dumping textures.
Pica/Rasterizer: Add initial implementation of texture combiners.
Pica/DebugUtils: Add convenient tev setup printer.
Pica/Rasterizer: Add texturing support.
Pica: Consolidate the primitive assembly code in PrimitiveAssembly and GeometryDumper.
GPU: Fix a compiler warning about redundant semicolons.
Math: Warning fixes.