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.
Truncate the path on logging

Cmake compiles we an absolute path, so the macro __FILE__ also has the absolute file in it.
It seems that gcc doesn't provide macros for the basename, so we have to truncate them in c directly:
https://stackoverflow.com/questions/8487986/file-macro-shows-full-path
[Android] Fix a bunch of input bugs.
Looking at the old code for the ButtonManager was a brainfsck. This fixes a ton of bugs I kept uncovering as I was moving along.

Fixes the gamepad configuration file being incorrect.
No longer treats touchscreen in a special way. Ends up as a regular device with a "Touchscreen" device name.
Was incorrectly converting a index from integer to ButtonType. Wouldn't work due to the addition of some unused(in JNI) enumerators in ButtonType.
Fixes an issue where a map had a key as an axis which was causing its binding to be overwritten for every axis that was used twice (eg main stick left and right);
Fixes Triggers not working at all.
Fixes DPad not working at all.
Fixes C-Stick only half working.
Removes touch screen specific nativelibrary types onTouchAxisEvent and onTouchEvent.

Adds a configuration version configuration option. Allows easy configuration overwriting if the options need to be changed during updating.

Supersedes github PR #291.
Movie: don't use "hh" scanf modifier.

Attempting to use it with Visual Studio is a good way to corrupt the stack.
Gameini updates.

Updates game inis for Serious Sam: Next Encounter (gc), CAPCOM VS. SNK 2
EO (gc), Baten Kaitos Origins (gc), Baten Kaitos Eternal Wings and the
Lost Ocean (gc), Sonic Adventure 2 Battle (gc), Sonic Riders (gc), Sonic
Adventure DX (gc), Mini Ninjas (wii), The Legend of Zelda Skyward Sword
(wii).
Fixes issues 7146 and 6440.
More updates.

For 007: Agent Under Fire (gc), SHADOW THE HEDGEHOG (gc), NFL Street
(gc), NFL Street 2 (gc), NBA STREET V3 (gc).
Fixes issues 7224, 7216 and 7238.
Make the Android UI more like the desktop UI
Add a comment about game list color
Add a hotkey for disabling the framelimit.

Atm this is hardcoded to '\t'.
Add set/get functions for IsFramelimiterTempDisabled
drop Host_GetKeyState

This function isn't used any more and it shouldn't be used at all as it generates a sync request to the x11 server. So it has to wait for a complete round trip time.
numCyclesMinusOne to numCycles in GekkoOPInfo
JitBackpatch: fix NOP padding

The new NOP emitter breaks when called with a negative count. As it
turns out, it did happen when deoptimizing 8 bit MOVs because they are
only 4 bytes long and need no BSWAP.
Jit_Util: reduce NOP padding of 8 bit loads

and use MOVSX directly if needed.
Merge pull request #324 from booto/eliminate-cyles-minus-one

numCyclesMinusOne to numCycles in GekkoOPInfo
Adds new PPCAnalyser class.
Supports conditional branch continuation.
More features to come.
Adds support to the new PPCAnalyst to the ARM JIT cores.
ArmJit32 supports OPTION_CONDITIONAL_CONTINUE with this.
Support the new PPCAnalyst class in JIT64.

Implements support for OPTION_CONDITIONAL_CONTINUE in JIT64.
Address delroth's comments.
Let Jit64IL use the new PPCAnalyst class