Created by: kbrenneman
This is a rebase of #129. Besides the rebase, I rewrote the aarch64 stubs to fix a crash that shows up when you turn on compiler optimizations.
With this change, the dispatch stubs for GLX functions are defined at compile time instead of allocating executable memory to generate them at runtime.
This requires rewriting the stubs so that they look up the functions from a global array instead of patching the addresses into the stubs themselves. Unlike libGLdispatch, though, it can use a single, static array instead of having to look up a per-thread array from another DSO.