nvk: Use a contiguous shader heap pre-Volta
This is required for shader heaps pre-Volta because they use a single 64-bit base address and 32-bit offsets for individual shaders. In this case, the addresses returned from the heap are relative to the base. The BO for the heap can be retrieved via nvk_heap_get_contiguous_bo_ref which returns an actual reference so it's safe to call from the queue submit path.