Don't use gl_FragColor when deprecated
Switch CanReplaceAlphaWithStencil response to an enum
Another typo fix
Don't use dual source when stencil disabled
Only use dual source when actually needed.

Does generate a few more shaders but hopefully isn't a problem, should get rid of most of the slowdown in most games.