Handle case where UpdateSubresource is recorded for unused resource

* If a resource isn't referenced anywhere else (ie. isn't then serialised
  out to the logfile by default and has no live resource equivalent) we
  need to account for this and simply skip the UpdateSubresource. Similar
  things are done for CopyResource etc
* This is backwards compatible with old logs as it handles their case with
  a "missing" resource
Don't try and hook OpenGL functions if the dll isn't even loaded on win32