[UR][HIP] Enable usm pools (#17972)
This patch fixes up and enable memory pools for the HIP adapter, it is
based on https://github.com/oneapi-src/unified-runtime/pull/1689 and on
the CUDA adapter implementation.
The initial patch had segmentation faults in the CI that we couldn't
reproduce locally. That happened as well in this patch and I couldn't
reproduce the segfaults locally either.
However I noticed that it failed in `urUSMHostAlloc`, and that entry
point was different from the CUDA adapter version, in that the HIP
adapter was using a "helper" function. It turns out that the helper
function was using a device pool instead of a host pool to do the
allocation, which seemed obviously wrong. Replacing the helper by
similar code used in the CUDA adapter fixes the crash in the CI.