broadcom/compiler: don't read excess channels on image loads and various shaderdb fixes
Do the same we do for textures and limit the number of channels we actually read based on which components on the result are being accessed.
Makes tests like dEQP-VK.image.load_store.with_format.2d.r32_uint drop from 18 instructions to 14 and emit a single ldtmu instead of 4.
Also, this fixes a number of issues I found while running shader-db.
Edited by Iago Toral