[SYCL][Bindless][UR][E2E] Add image memory and handle support queries (#17865)
This patch introduces two new SYCL queries for Bindless Images.
`get_image_memory_support` returns a vector of supported image backing
memory types for a device given an `image_descriptor.
`is_image_handle_supported` returns a boolean indicating whether the
device supports creation of either a `sampled_image_handle` or
`unsampled_image_handle`, given an `image_descriptor` and image backing
memory type.
Some tests are updated to use these queries to filter out unsupported
image properties, e.g. allocating `unorm` channel types on the LevelZero
backend.
Additionally some fixes are made to the UR HIP device queries that
pertain to supported image properties.
The HIP queries for `UR_DEVICE_INFO_IMAGE<N>D_MAX_<WIDTH/HEIGHT/DEPTH>`
have been amended to remove redundant calls to `hipDeviceGetAttribute`
(as this was being called twice unnecessarily, with the same query
parameter).
The HIP queries for
`UR_DEVICE_INFO_MAX_IMAGE_LINEAR_<WIDTH/HEIGHT/PITCH>_EXP` have been
amended to return plausible values for the HIP backend (instead of
returning `1` for each of these).