Merge pull request #330 from LPFaint99/GCMemcard_addsave_fix

GCMemcard: fix edge case of adding to a fragmented memcard.
DVD emulation: make seek timing more accurate.

Based on real measurements of a Gamecube disk on a Wii.  (If anyone else
is interested in running more tests, I can upload my code; it's a mess at
the moment.)

This isn't a complete model, but it's a step in the right direction:
in Metroid Prime, the loading times are sane, and I think I managed to do it
without breaking anything.
DVDInterface: tweak buffered reads to be a bit faster.

A read finishes when the result is complete in the drive's buffer, not
main memory.
Change Android's default EFB configuration to texture instead of disabled.
Merge pull request #185 from degasus/shader-cleanup

Shader cleanup
Add a std::make_unique implementation

Some compilers we care about (mostly g++) do not support std::make_unique yet,
but we still want to use it in our codebase to make unique_ptr code more
readable. This commit introduces an implementation derivated from the libc++
code in the Dolphin codebase so we can use it right now everywhere.

Adapted from delroth's pull request.
Use std::make_unique where it makes sense to

(and improve some other unique_ptr initializations).

Adapted from delroth's pull request.
Apparently the debug build has not been freeing memory since 2008. Undo that.
DVDInterface: code cleanup.
Opcode decoding: 0xC0 isn't a valid command.

Fix our opcode decoders to handle this appropriately.
Fixes games that use the MMU to page in code(Rogue Leader).

The issue was that on memory exception we wouldn't call in to PPCAnalyst and our code_block would retain the previous blocks information.
This would cause us to compile the previous blocks instructions in prior to the exception exit.
Merge pull request #352 from shuffle2/master

[windows] Fix debug build memory leaks.
Revert "x64FPURoundMode: always set x87 precision"

This reverts commit 9de77b7c23252cbedaee993f7c56b2deb0ce2bef.
Setting x87 precision control is only supported on x86 platforms (not ARM or x64).
Merge pull request #335 from Tilka/twx

Jit64: implement tw/twi more accurately
Merge pull request #357 from shuffle2/master

Revert "x64FPURoundMode: always set x87 precision"
Opcode decoding: handle missing opcodes 0x88 etc.

Hardware testing shows that they do the same thing as the 0x80 family of
opcodes: they draw quads.
Merge pull request #348 from Sonicadvance1/PPShader-GLES3

Fixes our post processing shaders so they work under OpenGL ES 3.0
Merge pull request #346 from Sonicadvance1/Android-PewPewShaders

Adds support for the PP shaders in the Android UI.
Merge pull request #349 from Sonicadvance1/Android-Default-Config

[Android] Change default EFB copy method from disabled to texture.
Merge pull request #341 from lioncash/pragma

Move the header guard before the includes in VideoCommon's Statistics.h