vulkan/buf: refactor memory selection logic
Make a number of changes to this logic in the hopes of picking stupid combinations (like device-local host-cached memory, or host-local shader storage buffers) less often.
Fixes: 8a8d8456 Fixes: https://github.com/mpv-player/mpv/issues/11270