Mali-400/450 don't support highp floats in the fragment shader. This
causes overflows when computing fog density in some game scenes. To work
around that, calculate fog density in vertex shader and use
interpolation.
vulkan,gl: Get rid of extra_depth_scale in fragment shader by
integrating it in fog density
fetch color format, storage buffer alignment and stores/atomics support
at init
support for framebuffers used as input attachments
use Allocator instead of VulkanAllocator
return handles instead of unique handles
store texture in the cache map instead of the heap
make related functions member of the class (CollectCleanup, killtex ->
Clear)
refactor common OSD stuff into rend/osd
vulkan support for OSD
Transition images back to transfer and update them instead of
deleting/recreating.
Keep track of in-flight texture command buffers and free them when idle.