panfrost: implement load/store for image2DMS on valhall
panfrost: implement image2DMS and image2DMSArray
image2DMS didn't work on valhall, due to a change in the way components
are accessed relative to bifrost, and image2DMSArray didn't work on
any panfrost variant.
For valhall, we modify the component access based on the dimension, and
handle multisampled images by really using a 3D texture (rather than
a 2D texture array). Arrays are then implemented using the hardware
3D texture array scheme.
For bifrost & midgard, multisampled arrays are implemented by extending the
height of the images to store the sample planes, as suggested by Boris in
https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29377.