Make the engine more accommodating for custom shading models

This would be a very nice addition to the engine

There’d be no more bad post processing alternatives or a 200 GB fork of the engine source code with long compile times