Merge pull request #294 from neobrain/master

BPMemory: Cleanup GenMode and fix incorrect bitfield size.
Android: Allow finger movement while pressing button
Release button after touch leaves boundaries

Now, your finger can still move around, but as soon as it leaves the button boundaries the button is released.
PatchEngine: Remove no-op function LoadDiscList.

(The function just pushes elements onto an std::vector which is unused
otherwise.)
Merge pull request #297 from magumagu/remove-loaddisclist

PatchEngine: Remove no-op function LoadDiscList.
Fix texture conversion shaders for GLSL ES.
Noticed this while messing with EFB to RAM.
We were having an implicit conversion from integer to float, GLSL ES doesn't allow implicit conversion.
Changes it to a explicit conversion to float.
Clarify code with comments
Add braces
Merge pull request #295 from SeannyM/button-holding

Android: Allow finger movement while pressing button
Moves a few Cmake options so that debug options are near one another.
Moves GDBSTUB to the top as well where it should be.
Adds Link Time Optimization cmake option.

Adds a LTO option that isn't enabled by default.
Allows building release binaries with link time optimizations without generating a -dirty build.
Not enabled by default due to concerns of memory usage and increased build time.
Merge pull request #299 from Sonicadvance1/EFBRam-FixGLSLES

Fix texture conversion shaders for GLSL ES.
Merge pull request #301 from Sonicadvance1/LTO-option

Adds Link Time Optimization cmake option.
Workaround idiotic custom texture loading logic so that D3D11, GL core (used on OS X) and GLES code paths have less broken textures.
VertexShaderGen: Correct vertex shader output to consider shifted pixel centers.

Fixes issue 267.