Move find-modified-range function out of D3D11 driver to common
Return pixel format WGL extensions and add do-nothing hooks
When in CAPFRAME save uniform sets to context record

* It was the wrong way around. When not capturing frame we save uniform
  sets to the program's record, but really we shouldn't do this and we
  should grab these as 'initial state' of the program resources
Handle calls to bind 0 object (unbinding)
Silently drop waits on non-existant syncs (from previous frames)
Ignore buffers that don't have a type

* This won't be a problem eventually as these buffers aren't referenced
  so will be dropped from the log in most cases.
Return a few extension strings that programs might query for
Call real, not wrapped function
Bump up number of texture records
For now handle no program being bound, e.g. if pipeline is bound
Create map for pipeline objects to store child programs
glDetachShader should remove, not add the shader if unlinked
Fix using wrong program name (parameter not valid when reading)
glUseProgramStages should always go into pipeline record
Handle setting datatype on records/texture data correctly
GL_TEXTURE_SWIZZLE_RGBA is 4 parameters not 1
Account for UNPACK_ROW_LENGTH and UNPACK_IMAGE_HEIGHT
Improve glMap() handling, handle non-invalidate case etc.
When capturing frame, track VAO modifications in context record
Quick optimisation - detect case of glBufferData just to orphan