This shader can take over from the ubershader. And it can be used instead of launching the ubershader when no offscreens are necessary. Also includes an optimization that uses the colorize shader when appropriate.