Add the features missing from #107176
* Irradiance integration.
* Self-shadows.
* Receive shadows from shadow maps.
Shadow tagging works by iterating all the froxels in a
compute shader and tagging the exact same position
that will be sampled by the volume scatter shader.
Froxels that are fully transmissive, have no scattering,
or are behind opaque geometry, are skipped.
It also adds a LoD bias parameter for shadow tagging,
driven by the volumetric tile size.
This works for punctual shadows, but directional lights
would need a way to support re-direction between levels
at sampling time, which is out of the scope of this PR.
Pull Request: https://projects.blender.org/blender/blender/pulls/110809