Implement glClearTexImage and glClearTexSubImage
Just pass-through wglSwapIntervalEXT as we don't care about it
Change logging at the end of pixel history function to RDCDEBUG
Debug log for which extension functions the app is requesting
Implement some multi-binding functions.
Allow resource managers to set initial contents chunk directly

* Also use Serialiser::Alloc/FreeAlignedBuffer for the blobs
Expose a MarkDirtyResource that takes GLResource for convenience
Implement glShaderStorageBlockBinding
Handle GL_CUBEMAP_POSNEG_XYZ binding targets as identical to cubemap
Handle some common ARB aliases a program was requesting
Handle depth and stencil components in GetByteSize
Initial implementation of saving program uniforms at frame capture

* Previously we were saving every program uniform that got set,
  cumulatively.
* Now, whenever a uniform is set that program is marked as dirty and we
  fetch out the uniform values at the start of the frame and serialise them
  out.
* On replay, we create a dummy copy of the program to hold the initial
  uniform values, and copy them across to restore the frame-start values.
Add API differentiating string to in-program overlay
Handle special formats like GL_LUMINANCE8_EXT separately
Only serialise glBindImageTexture(s) when in WRITING_CAPFRAME
glCopyImageSubData just marks destination texture as dirty
Proper record deletion and record parenting