part 1: MFT_RenderTarget1_Zero to MFT_RenderTarget3_Zero   and    ShaderFeature::RenderTarget1 to ShaderFeature::RenderTarget3 reassignments. TODO: hunt strays
future users may wish to have features which clear different buffers. switched from feature replacement to addition
reattaches previously amputated extended lighting buffer
In order to leverage rendertarget3 without playing a bunch of redirect games, we need to fill in rt2. As terrain doesn't fill in matFlags/translucency/specularStrength/specularPower, we just fill it with a blank (for now. though that does leave us spots to use those later if we wish)
crash course: adds a feature unimaginatively named MFT_isDeferred, set in ProcessedPrePassMaterial::_determineFeatures, and checked for it's existsnce in features such as TerrainBaseMapFeatGLSL::getOutputTargets and ReflectCubeFeatGLSL::processPix to switch between output targets on an as-needed basis. since we're no longer checking for the presence of a texture specifically to make that determination, this will free us up to use deferred raw color later
pares the MFT_DeferredDiffuseColor / MFT_DiffuseColor down to a singular feature with a target-switch. shadergen still seems to be tacking on something looking for a UV though when the MFT_DeferredDiffuseMap
is blank...
directx end was fatally crashing when only using color as it was defaulting to multiplying garbage. added a switch to check for a diffusemap, and multiply if found, or simply use the color if not. applied the same to opengl. puts us closer to being able to use a straight colored material, but still requires the presence of specular being flipped on at a minimum.
both unused and redundant in light of the standardized MFT_RenderTarget1_Zero - MFT_RenderTarget3_Zero series of material features.
pruning: MFT_DeferredDiffuseMap also ended up as a simple render-target redirect in the end. removed as redundant.
prune: MFT_DeferredEmissive both never used, and would break things if it was.