rusticl/memory: complete rework on how mapping is implemented
Previously we tried to map GPU resources directly wherever we could, however this was always causing random issues and was overall not very robust. Now we just allocate a staging buffer on the host to copy into, with some short-cut for host_ptr allocations. Fixes the following tests across various drivers: 1Dbuffer tests (radeonsi, zink) buffers map_read_* (zink) multiple_device_context context_* (zink) thread_dimensions quick_* (zink) math_brute_force (zink) Cc: mesa-stable Part-of: <!30082>