Jit64: implement tw/twi more accurately

Fixes issue 7253.
Move the #pragma once header guard before the includes in Statistics.h in VideoCommon.
Adds support for the PP shaders in the Android UI.

Copies over the PP shaders to the APK's assets and installs them on run.
Exposes them via the video settings UI.

This is in anticipation of dropping the workaround for rotated blits on Adreno and instead forcing shader usage by the user.
Fixes our post processing shaders so they work under OpenGL ES 3.0

Most of our shaders relied on implicit int->float conversions.
This fixes the assumption that this is allowed
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.
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.
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.