Function replacement hooks and some GLES compat replacements

This makes the debug build a lot faster, and adds hooking (rather than complete replacing) support for function replacements.

Hooks can be on call, on exit, or at an arbitrary offset into the function.  This is super useful also for debugging games, sometimes.  For example, I have one game where I hooked the function it used to render a string, so that I could log (and screenshot) whenever it used untranslated text.  I had hardcoded this, but doing it via a replacement is cleaner.

Also fixes the inlined swizzled memcpy in Gods Eater Burst, and an alternate signature of the func in a demo.  I don't have any other versions of the game, doesn't seem to use it in God Eater.

This also fixes #3973.  The performance doesn't seem too bad, actually.

Star Ocean (#1392) up next, although I haven't decided what the best way to do it is.  I'm thinking a hook (the func is doing other stuff) and I guess there's no option but multiple passes.  Will probably have to add a PerformStencilUpload() or something to gpu...

-[Unknown]