Shader related code cleanup. Loading has been tweaked in multiple ways: mask_value is now computed internally for each parameter. There are now requirements and conflicts for each parameter which aids in skipping the compile of shaders that would fail.