Shaders: rewritten into passes

GPUs can render multiple passes at once. Instead of making all calculations procedurally within the light shader, I split calculations into passes- which greatly improves performance. I also offloaded sample coordinate calculations to vertex shaders to optimize the average and bloom passes. The shader only drops performance about 5% (but I have a nice graphics card), while the previous version would drag my usual 90 down to 9. I have not rebalanced colors to work with this new scheme, so it looks extremely ugly at the moment. This comes down more to tweaking values and formulas.
I haven't done too much testing... I just got it compiled and running without warnings. :P I'm pretty sure all of the passes are working though. I tried adding a gaussian-esque distribution to the bloom, but haven't finished it yet. Fog is taken from a public guide, I haven't broken it down yet and remade it for this shaderpack. Fog really comes down to gl_FragCoord.z, which retrieves the depth of a given fragment.