D3D11: Use appropriate shader for PEEK_Z.

Trying to use GetDepthMatrixProgram outside of
TCacheEntry::FromRenderTarget is a bad idea, so don't.  Instead, use a
shader which only copies the input.

Fixes lens flare depth test in Twilight Princess. See
http://code.google.com/p/dolphin-emu/issues/detail?id=5999 .
Add dsp rom hashes to movie header.

Also fix a random typo.
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
Optimize NOPs
VertexShaderGen: Correct vertex shader output to consider shifted pixel centers.

Fixes issue 267.
Workaround dumb custom texture loading logic so that D3D11, GL core (used on OS X) and GLES code paths have less broken custom textures.
Merge pull request #308 from neobrain/master

Software renderer: Update a reference link.
Merge pull request #307 from neobrain/custom_textures_workaround

Workaround dumb custom texture loading logic.
[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.
Add remaining possible uses of MOVBE

Also fixes a missing 'break' statement in DisassembleMov().
BackPatch: make sure MOVBE is long enough
Merge pull request #303 from Tilka/movbe

Add remaining possible uses of MOVBE
Jit64IL: remove dummy implementations
Movie: don't use "hh" scanf modifier.

Attempting to use it with Visual Studio is a good way to corrupt the stack.
Jit64: use integer instructions for boolean logic

They are semantically equivalent and according to Agner Fog they can run
on more execution ports than their floating point counterparts (at least
on Intel CPUs).
Fix Fastmem on CPUs without MOVBE

The problem was that when BSWAP was used, UnsafeWriteRegToReg() returned
the address of that instead of the MOV.
Merge pull request #311 from Tilka/movbe

Fix Fastmem on CPUs without MOVBE
Fix missing instructions in ARM JIT Tables.
The ARM insturction tables were missing addcox, addeox, and subfcox.
Implements support for addcox and addeox to the ArmJit, required little work since they are basically the same as addcx and addex.
Merge pull request #313 from Sonicadvance1/Fix-ARMTables

Fixes missing instructions in ARM JIT Tables.