JIT: avoid saving the PC on every store

Modify the backpatcher to store the PC in the trampolines.
Should be ~3.5% faster overall (measured on POV-RAY benchmark).
Merge pull request #746 from FioraAeterna/fastermtcrf

Improve performance of CR functions in JIT64
Merge pull request #807 from FioraAeterna/avoidpcstore

JIT: avoid saving the PC on every store
Merge pull request #831 from FioraAeterna/cleanupimm

JIT: cleanup unnecessary immedate size-checking logic
Remove support for Wayland

Yes, this is a fancy new feature, but our Wayland support was
particularly bitrotten, and ideally this would be handled by a platform
layer like SDL. If not, we can always add this back in when GLInterface
has caught up. We might be able to even support wxWidgets and GL
together with subsurfaces!
Remove support for EGL under X11

Now, the only supported EGL platform is Android. We might eventually add
back support for EGL/X11 or EGL/Wayland, but it will have to be
architected differently.
GLX: Remove evdpy / dpy split

Move to one display. There's no reason to have two displays here -- the
comment stated that one should touch GLX and one should touch window
events, and that they should be touched from different threads, but the
current code wasn't this careful.

Just use one Display connection.
MainNoGUI: Remove old OS X backend that doesn't work, rearchitect
X11Utils: Simplify the Fullscreen interface

Since we only use the toggle action, only keep that.
X11Utils: Explicitly pass the window to fullscreen into ToggleFullscreen

MainNoGUI is going to create its own window soon, and we need to
fullscreen that one instead of the GLX window.
MainNoGUI: Supply a window in Host_GetRenderHandle

Our existing code was relying on the GLX backend to create the GLX
window properly, and for the rest of the code to patch that up, sort
of. If we rely on Host_GetRenderHandle() returning a valid window, we
can do a lot better about this.

Create a simple window inside MainNoGUI to make this happen.
MainNoGUI: Move a majority of the event handling from the GLX backend

The only reason the GLX backend handled this at all was because
MainNoGUI didn't make its own window before. This is unused in DolphinWX
builds.
X11_Util: Resize the GLX window by listening to events on the parent

We now have two cases: the GLX window is parented into a frame, or it's
parented into the MainNoGUI host. In both cases, the GLX window should
be locked to the size of the parent, so just sync it up based on that.
EGL: Stop the window_handle shuffling as well
Core: Remove Core::GetWindowHandle

Finally, it's unused. Whoa.
Core: Don't pass through a reference to the window handle

Now that MainNoGUI is properly architected and GLX doesn't need to
sometimes craft its own windows sometimes which we have to thread back
into MainNoGUI, we don't need to thread the window handle that GLX
creates at all.

This removes the reference to pass back here, and the g_pWindowHandle
always be the same as the window returned by Host_GetRenderHandle().

A future cleanup could remove g_pWindowHandle entirely.
Core: Remove UpdateFPSDisplay

This is effectively unused, as the window handles that we pass to the
GLInterface are window handles for the frame which isn't ever a real
toplevel window. Host_UpdateTitle is what actually sets the proper title
on the render window.
GLInterface: Destroy GLWin

Everything is now safely tucked inside each individual GLInterface.
X11_Util: Don't specify a background pixel

This causes flickering when resizing the window, which looks horrid
and we shouldn't do it.
Add back X11 support to EGL

Refactor the EGL backend to provide a platform separation here, which is
better abstracted away than the old EGL/X11 implementation.