These four backends were missing the UnusedFrames > 0 check in their
UpdateTexture() WantDestroy branch, inconsistent with all other backends
(OpenGL2, OpenGL3, DX10, DX11, DX12, Vulkan, WGPU, SDLGPU3) which already
defer destruction until the texture is no longer in flight.
This is a potential use-after-free in multi-threaded/staged rendering
pipelines where the UI thread may destroy a texture while the render thread
is still drawing with it. Per #8597 guidance: backends should defer
destroying by the amount of in-flight frames in their rendering pipeline.
The fix adds '&& tex->UnusedFrames > 0' to the WantDestroy condition,
matching the exact pattern used by OpenGL3, DX10, DX11, WGPU, and SDLGPU3.
Companion to #9475 (OpenGL2 fix, already merged).