Apply unsupported blending modes in the shader

This handles unsupported fixed color combinations, alpha doubling, etc.

Where possible, tries to avoid it - it means using a blit (without the framebuffer fetch extension), which can slow things down a lot with tons of drawcalls.

This fixes some effects in games which use doubling blend modes, but I haven't tested all the cases (especially since I don't have all the games.)  It also does absdiff blending and mismatched fixed color blending.  It will not help GLES2, and requires GLES3+ or OpenGL 3.0+.

I'm worried this might need a setting.  Before I made `AlphaToColorDoubling() || CanDoubleSrcBlendMode()` bail, it made Popolocrois severely slower.  However, it does allow more accuracy.

-[Unknown]