No longer use #define inside shader for non-overloaded texture functions.

Changing the function name used in TranslateTextureSample instead means
the glsl text is slightly smaller, has fewer preprocessing directives
and is perhaps slightly easier to read.
Add bias, gradient and offset texture sampling tests.
Some support for textureGrad
Support texture bias.
Support texture address offsets.