Cleanup shader handling and fix normal shaders on older gl versions

Do not test texture available in shader, instead set it as a material
property, this should work on mac's and older OpenGL implementations.