Part of #116901. The only non-obvious part is changing from using the `MR_DATA_LOOP_NOR` flag as a signal to calculate normals and store them in `MeshRenderData` to a more explicit check that the normals buffer is requested. In the future hopefully these dependencies will be refactored to be part of the task graph instead.