Make sure unmap chunk isn't lost and goes in buffer record

* If we're ignoring a map it's marked correctly as dirty, but otherwise a
  buffer could be mapped once then not touched, not become dirty, and so
  we need the unmap chunk in its record.
Mark SSBOs and atomic counter buffers as dirty when bound