x64: add support for some x87 instructions
Jit64[IL]: fix float conversions

Floating-point is complicated...

Some background: Denormals are floats that are too close to zero to be
stored in a normalized way (their exponent would need more bits). Since
they are stored unnormalized, they are hard to work with, even in
hardware.  That's why both PowerPC and SSE can be configured to operate
in faster but non-standard-conpliant modes in which these numbers are
simply rounded ('flushed') to zero.

Internally, we do the same as the PowerPC CPU and store all floats in
double format. This means that for loading and storing singles we need a
conversion. The PowerPC CPU does this in hardware. We previously did
this using CVTSS2SD/CVTSD2SS. Unfortunately, these instructions are
considered arithmetic and therefore flush denormals to zero if non-IEEE
mode is active. This normally wouldn't be a problem since the next
arithmetic floating-point instruction would do the same anyway but as it
turns out some games actually use floating-point instructions for
copying arbitrary data.

My idea for fixing this problem was to use x87 instructions since the
x87 FPU never supported flush-to-zero and thus doesn't mangle denormals.
However, there is one more problem to deal with: SNaNs are automatically
converted to QNaNs (by setting the most-significant bit of the
fraction). I opted to fix this by manually resetting the QNaN bit of all
values with all-1s exponent.
Interpreter: fix float conversions

Can't use simple casting, otherwise we get the same problems as in Jit64.
Re-enable non-IEEE mode support
x64Emitter: Add the xmm, xmm form of PSRLQ instruction.
x64Emitter: Fix the PSUBQ instruction's opcode
Interpeter: Fixed ConvertToDouble to match the manual.

Also added some documntation comments.
Add a tools that detects include cycles in the Dolphin codebase.
Remove X11InputBase (dead code)
Merge pull request #93 from Tilka/dead_code

Remove X11InputBase (dead code)
Make Common/ mostly IWYU clean (and fix errors in rest of the project detected by this change).
Make DiscIO/ mostly IWYU clean (and fix errors in rest of the project detected by this change).
Make DolphinWX/ mostly IWYU clean.
Merge pull request #91 from delroth/iwyu

Include-what-you-use suggested fixes.
Fix a compilation error introduced in PR #91.

For some reason it passed builbot-try but didn't build after being merged to
msater. Did not expect that, sorry :(
Make it possible to build Dolphin for Android in OS X and also less of a pain with gradle.
Merge pull request #85 from Sonicadvance1/Android-OSXpain

Make it possible to build Dolphin for Android in OS X and also less of a pain with gradle.
Fix the OpenGL About tab.
Move EGLHelper to be local to the creation of the about GL/GLES tabs so we don't have 3 EGL contexts running at a time.
Fix issues with OpenGL context creation here so we show the correct information.
This requires adding an EGL function to the NativeLibrary since Android's JAVA bindings don't expose eglBindAPI.
Add phire's more accurate DoubleToSingle version

This method doesn't involve messing around with the quirks of the x87
FPU and should be reasonably fast. As a bonus, it does the correct thing
for out-of-range doubles.

However, it is also a little slower and only benefits programs that rely
on undefined behavior so it is disabled for now.
Merge pull request #25 from Tilka/ppc_fp

Fix non-IEEE mode