DSound: use DSound notifications to produce sound.

Pretty straightforward; IDirectSoundNotify lets you register for
notifications after a certain amount of sound has played, so use that
instead of depending on Update() notifications from the CPU thread.

Also, while I'm here, reduce the buffer size by a factor of 4; this seems
to reduce the latency, although the difference is sort of subtle.
Disable SDL input on Windows.
Remove SDL from Externals.
JIT: unify JitAsm for JIT64 and JIT64IL.

Having a bunch of nearly identical code sitting around isn't a good idea,
so fix that. JITIL had a couple of extra entry points into the JIT main
loop, so adjust the code appropriately.

Also fixes Issue 7186.
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.
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.
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.
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.
Add japanese strings
D3D: Don't pass D3D10_SHADER_WARNINGS_ARE_ERRORS to the compiler in debug builds.

For quite a while this has been causing integer division to generate a warning as error, blocking shader compiling. This means probably no one has even been running D3D in debug builds...
I tried disabling the warning with a #pragma, but it doesn't seem to apply when this flag is used.
Merge pull request #358 from SeannyM/Android-strings

Add japanese strings
fixmeup rename
fixmeup use
Merge pull request #359 from shuffle2/d3d-disable-warnings-as-errors

D3D: Don't pass D3D10_SHADER_WARNINGS_ARE_ERRORS to the compiler in debug builds.
Merge pull request #351 from Tilka/make_unique

Add a std::make_unique implementation (Common/StdMakeUnique.h)
Video backends: fix rounding in lighting computation.

For whatever reason, the hardware doesn't do a full divide by 255, but
instead uses an approximation with shifting, similar to the way it is done
in TEV.