SPIRV backend uses 0 to represent unbounded arrays. This patch makes unbounded resources be represented with 0 when binding them, as well as makes sure the backend uses OpTypeRuntimeArray to represent such cases. Fix: https://github.com/llvm/llvm-project/issues/183367