Support gather4_c, gather4_po and gather4_po_c.

Create shadow and non-shadow samplers if Z compare is performed on a
texture.
Support array of texture resources / array of sampler uniforms.

Fixes ps5\array_of_textures.
uniform sampler2D SomeTextures[0];
uniform sampler2D SomeTextures[1];
Becomes
uniform sampler2D SomeTextures_0_;
uniform sampler2D SomeTextures_1_;