The render shadow loop would always tag new casters to update the tiles that were already rendered. This patch split the caster tagging into it's own pass and move it out of the loop. Also adds a needed `async_flush_to_host` to make sure the statistic buffer is up to date.