Currently the Textures used for offscreen rendering don't have the `GPU_TEXTURE_USAGE_HOST_READ` flag. But some cases it is needed. This PR adds a parameter when creating an offscreen buffer. Other solution could be to add this flag to all textures, but we chose not to do this as that reduces the amount of fine-tuning options for Metal/Vulkan backends. GPU can store textures differently based on its actual usage. This option isn't available in the python API as we don't expect add-on developers to fine-tune texture usages to this extent. For convenience `GPU_TEXTURE_USAGE_ATTACHMENT` is by default always added. Pull Request: blender/blender#106899