Make it more explicit about which TextureHosts support buffering
Remove BUFFER_DIRECT_USING_SHAREDTEXTUREIMAGE
Rename BUFFER_SINGLE to BUFFER_IMAGE_SINGLE, and BUFFER_DIRECT to BUFFER_IMAGE_BUFFERED
Removed unused LockHandle
Implement and use TextureClient::ReleaseResource
Implement ImageHost class for YCbCr and externally owned SharedTextureHandle