Update the ECS engine to support automatic mutation tracking for
singletons during iteration, removing the need for manual
`MarkModified` calls.
- Update `ComponentDiscoveryGenerator` to detect singleton components.
- Refactor `PlaceMarkCommand` and `WinCheckSystem` to leverage
automatic mutation marking.
- Replace `ForEach` usage with `Select` and `ItemN` access in tests
and systems to align with the updated iterator API.