vulkan/wsi: SW path improvements
The primary improvement here is that the SW paths are both a bit simpler and now work with tiled images by doing the same thing as the PRIME path. In particular, this means the SW paths will work on a real GPU driver as demonstrated by the last two patches. I also implemented VK_EXT_external_memory_host
support on the Wayland path which makes it about 3x faster on my TGL laptop.
I don't intend to merge the last patch. It's only for testing. If @llandwerlin wanted to review the second-to-last patch, it seems like an over-all improvement that we should probably have.