Implement GBuffer prepass and deferred lighting (lights only). This decouple lighting from the material shaders making them lighter, less expensive and faster to compile. Trying to keep a nice data flow so we could potentially use the subpass programable blending feature on tiled GPU arch. Not everything is covered yet and #105880 is making the GBuffer layout a bit awkward and not easily extendable. Pull Request: blender/blender#105868