Have the shader generators generate modern GLSL if available.

This opens up to use other modern features like dual source alpha later.

Needs testing on various PC and Android GPUs before merge. I test on nvidia which is notoriously accepting of invalid GLSL.