Add the Gather functions for Texture2D. Variations for all components are added (Red, Blue, Greed, Alpha). If targeting Vulkan then the GatherCmp* function for a component other than 0 will result in an error, as that will lead to invalid SPIR-V. Part of https://github.com/llvm/llvm-project/issues/175630. Assisted by: Gemini