Adds support for textureGather to the PP shader system.

This adds two new functions to the PP shader system, SampleGather and SampleGatherOffset.

These two functions use textureGather and textureGatherOffset if the graphics drivers support GLSL 4.00 or GLSL ES 3.10.
If a system doesn't support GLSL 4.00 but supports GL_ARB_texture_gather then it will attempt to use textureGather if you only need the red component.
In the event that the system doesn't support anything, it will fall back to a costly operation of many texture fetch instructions.