Add support for VK_AMD_shader_image_load_store_lod

When an image is binded to a shader as a sampled image, you can access the mip levels of the image by specifying the desired mip level in the texture access call:

uniform sampler2D sampledImage;
void main() {
    ivec2 p = ...;
    int lod = ...;
    vec4 v = texelFetch(sampledImage, p, lod);
}

However, if the image is binded as a storage, you cannot access the different mip levels directly and have to resort to binding the mip levels individually in an array of images:

uniform image2D storageImage[];
void main() {
    ivec2 p = ...;
    int lod = ...;
    vec4 v = imageLoad(storageImage[lod], p);
}

The extension VK_AMD_shader_image_load_store_lod (along with the corresponding SPV_AMD_shader_image_load_store_lod and GL_AMD_shader_image_load_store_lod) allow you to just do imageLoadLodAMD(storageImage, p, lod) and imageStore(storageImage, p, lod, data), which is much more convenient. Would it be possible to add support for this extension in the Nvidia driver too ?