DXGL interception and replay
Merge branch 'master' of https://github.com/baldurk/renderdoc into dxgl
(DXGL) Added D3D11_RESOURCE_MISC_DXGL_FORCE_ARRAY to force 1 element texture arrays.
Merge branch 'master' into dxgl
Couple of fixes + implementation of gather4 opcodes.
Fixes compilation
Merge branch 'master' of https://github.com/baldurk/renderdoc
Integrating from DXGL

Conflicts:
	renderdoc/driver/d3d11/d3d11_analyse.cpp
Reverted merge error
Always consider non-buffer-backed uniform blocks as used
Merge branch 'master' of https://github.com/baldurk/renderdoc

Conflicts:
	renderdoc/driver/d3d11/shaders/dxbc_debug.cpp
Fixed merge error
Work in progress filling of UBO values. Not correct yet
Instead of tracking layout, query variable's offset & stride

* It's unfortunate to have to use program introspection so heavily like
  this (perhaps there should be a GL-specific shader reflection structure
  like DXBC where these locations and strides could be cached), but it's
  not too bad and handles any arbitrary layout
Pre-bake into pipeline and program data shader IDs per stage
Get initial sampler bindings
Save draw and read framebuffer bindings, add some more TODOs
Save program & program pipeline bindings
Hook Vertex Buffer binding functions and save as initial state

* Vertex attrib state is a property of the VAO so should be saved as
  initial resource contents.
Substitute fake backbuffer FBO where FBO binding state is 0