zink: barrier rework part 2
now that all the easy optimizations are out of the way, it's time to get serious.
by expanding the existing copy box infrastructure to handle buffers, it becomes possible to eliminate a lot of transfer barriers for non-intersecting reads/writes
the exception to this is on turnip, which does not allow any fun (nonconformant cache behavior cf. https://gitlab.khronos.org/vulkan/vulkan/-/issues/3398 https://gitlab.khronos.org/vulkan/vulkan/-/issues/3306), and so a new driver workaround has been added to disable this functionality there to avoid cache issues