Always consider non-buffer-backed uniform blocks as used
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