Separated Tick and TickRender more cleanly

This is important for the in-game map editor to look good while the game is force paused. It also adds consistency to the way the project as a whole is structured. This is separated from https://github.com/OpenRA/OpenRA/pull/4496 for easier reviewing. The make animation activity to trait refactor is not done for fun, but to fix severe breakage. As a side effect this may counter glitches when pausing the game like a chronosphere effect looping forever.
This of course isn't required but could we possibly use a better name in our foreach notify loops?
I usually use `var notify` for this. Of course this line is still perfectly readable without.