glretrace: Replay failing wglMakeCurrent calls correctly.

If wglMakeCurrent failed in the trace, then just make current NULL.
glretrace: Prevent deadlock on SetWindowPos.

Achieve this by using a dedicated thread to process window events.  It is
the only practical solution for this.
d3dretrace: Assert SetWindowPos is called on the window thread.
glretrace: Enable all debug output.

On nVidia systems, not all debug output is enabled by default. If we wish to
have the driver tell us where it is placing buffer objects, for example, we have
to enable all the debug channels by passing GL_DONT_CARE to everything in
glDebugMessageControlARB(...)
glretrace: Limit the low severity messages.

Otherwise some traces will be full of them...
glretrace: Fix typo.
qapitrace: Add option to retrace with core profile.

This was preventing using qapitrace to debug issues using Mesa. The
application being debugged used GL 3.3, but since a core profile wasn't
requested, the max Mesa would give was 3.0.
glretrace: Set GLX_SAMPLE_BUFFERS.

Issue #222.
glretrace: Add glCompressedTex*Image*ARB to unpack function name list.

Issue #222.
glretrace: Silence NVIDIA's "Buffer detailed info:".

Merely informative.
gltrace: Ensure GL_ARRAY_BUFFER is unbound before emiting fake gl*Pointer() calls.

When tracing, just before every drawcall, ApiTrace inserts gl*Pointer()
calls into the stream on attributes it detected as resident in user-mem
(instead of in a VBO).

ApiTrace wasn't inserting a glBindBuffer(GL_ARRAY_BUFFER, 0) and
glBindBuffer(GL_ARRAY_BUFFER, prevBuf) around those auto-generated
calls.  Thus, it misrepresented pointers as huge offsets into the
currently bound VBO.

Thanks to idinev for spotting and diagnosing this issue.  This achieves
the same result as idinev's fix in issue #222, but from the trace side.
tracediff: Honour --call-nos option.
glretrace: Swizzle uniform block indices.

This may be necessary even when replaying with the same driver used
while tracing, but a shader is edited in qapitrace causing an uniform
block to become inactive.
glretrace: Remove assert in dumpProgramUniforms.

As it can be triggered by some OpenGL drivers.
gltrace: Add a link to Mesa's glGetBufferParameteriv fix.

For reference.
gltrace: Move GL_EXT_debug_marker/label from GLES to ES specs.

They are also available in GL, and Apple actually advertises them in MacOSX:
https://developer.apple.com/graphicsimaging/opengl/capabilities/
gltrace: Fake GL_EXT_debug_marker/label too.
glretrace: Support GL_EXT_debug_marker/label too.

Just like KHR_debug.

Untested, but should hopefully work fine.