Several improvements to analyze_shader_before_culling
and expose it so that drivers can call it. This helps more effectively get rid of unnecessary LDS use and gets rid of the hack that is cleanup_culling_shader_after_dce
.
This is also preparation for more upcoming work.