draw: Properly switch textures by uniform parameter in fragment shader

Texture availability is passed to shaders by uniform variables (one for
each texture unit), but old codes exploit unused built-in uniform
parameter as the flag's container (gl_TextureEnvColor) in the hope of
reducing number of uniform variables may help improving performance.

Although, this is so counterintuitive, error prone and not really
efficient.  We'd eliminate usage of gl_TextureEnvColor in this way.

I wonder how GPU optimizes branching in shader languages.  If it's not
smart enough to predict branches, we may improve performance by expanding
branches into separate sources because of pipeline process.  Either way,
reducing number of uniform variables won't help while branches are
still there.