JIT64: clean up and unify float load/store code

While we're at it, support a bunch of float load/store variants that weren't
implemented in the JIT. Might not have a big speed impact on typical games but
they're used at least a bit in povray and luabench.

694 -> 644 seconds on povray.
DiscIO: Move VolumeDirectory off of raw pointers
JIT64: add mulhwx implementation
JIT: Initial FPRF support

Doesn't support all the FPSCR flags, just the FPRF ones.
Add PPCAnalyzer support to remove unnecessary FPRF calculations.

POV-ray benchmark with enableFPRF forced on for an extreme comparison:
Before: 1500s
After, fmul/fmadd only: 728s
After, all float: 753s

In real games that use FPRF, like F-Zero GX, FPRF previously cost a few percent
of total runtime.

Since FPRF is so much faster now, if enableFPRF is set, just do it for every
float instruction, not just fmul/fmadd like before. I don't know if this will
fix any games, but there's little good reason not to.
glx: fix shutdown hang
x64Emitter: add support for some missing CVT instructions
Re-enable the vertex loader JIT on OS X.

Why was it ever disabled?
Merge pull request #895 from comex/reenable-jit-on-os-x

Re-enable the vertex loader JIT on OS X.
Merge pull request #877 from lioncash/voldir

DiscIO: Move VolumeDirectory off of raw pointers
Merge pull request #890 from degasus/glx

glx: fix shutdown hang
Clear the texture used by PP shaders prior to use.
We were generating a texture without ever setting the data to a known value.
This happened on the old code as well, just that PP shaders are receiving some love and people are using it and noticing some of its issues.
Merge pull request #882 from Sonicadvance1/fix-pp-blackness

Fix PostProcessing shader garbage on screen.
Jit64: some load/store optimizations

Avoid extra ops during address calculation in loads; use LEAs or immediates
whenever possible.
Merge pull request #758 from FioraAeterna/loadstoreopt

Jit64: some load/store optimizations
Merge pull request #843 from FioraAeterna/fprf

JIT: Initial FPRF support
Merge pull request #894 from FioraAeterna/missingcvt

x64Emitter: add support for some missing CVT instructions
JIT: make fprf conditional in fcmp, just like the other instructions

Missed in the FPRF merge (it didn't break anything, but it's probably a bit
slower and not consistent with the others).
Merge pull request #881 from FioraAeterna/mulhwx

JIT64: add mulhwx implementation
Merge pull request #898 from FioraAeterna/fprffix

JIT: make fprf conditional in fcmp, just like the other instructions
Merge pull request #876 from FioraAeterna/floatloadstore

JIT64: clean up and unify float load/store code