Add .dir-locals to tell emacs how to format by default.

I'd apparently been typing in two different styles.
Consistently use 4-space indents.
Fix the aliasing support to actually build.

Jordan asked me to show my code, so I pushed the snapshot I had,
forgetting that the build was broken at that point in commit
--amending.
Fix parallel build of the generated source code.

Make didn't know that our rule generated all 3 things, so it would
generate 3 times, and in parallel you'd end up writing over each
other.
Sort the functions in the generated code.

This makes looking through the resulting code much nicer.
Fix test for is_desktop_gl.

We're looking for "return true if no ES", and strcmp returns != 0 if
not match (the ES string).
Remove accidentally committed debug printf.
Fix a copy-and-paste mistake in getting GL version
Fix the version detection for GL < 3.

Those nice enums came late in the GL spec.  This code is copied from
piglit, by Matt Turner in 2012.
Make a few more public functions actually public.
Add an initial testsuite for GLX API.
Assume GLX 1.2 is automatically available on Linux with GLX.

This prevents infinite recursion in dispatch when trying to find
symbols to determine the GLX version.
Actually implement GLX version detection.