Store the radar layers in a single buffered sheet.
Add a CellEntryChanged event to CellLayer.
Update only dirty radar pixels and refresh every tick.
Optimise actor radar rendering for another significant perf win.
fix the end game dialog not showing which objectives failed

- don't mark everything as failed just because one objective did
- remove fake objectives workarounds for non-playable factions
split Einstein and Tanya survival objectives for clarity

fixes #7068
Merge pull request #7081 from Mailaender/ignore-missing-npc-objectives

Removed the need to give NPCs fake objectives to properly end the game
Merge pull request #7057 from pchote/celllayerupdates

Improve radar rendering performance