Improved system for post processing shaders.

This is the system for improving configurability of shaders from a user perspective.

This doesn't have multiple render stages in the PP shader backend, but is more centered towards bringing configurations of the shaders options to the UI.
Woops, forgot about it when I converted the class from pure virtual functions :P