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.
This default value is a bit confusing. What does loading "" mean? If it unloads the shader, then why not a separate "UnloadShader" method instead?

What's the return value of this method?