Convert ActorReference field to Lazy

Makes LoadMaps 40% faster
Better caching for Rules and Sequences

Refactored the Rules and SequenceProvider classes to be parts of ModData and
maintain a cache of the instances used in the mod.

The caching reduced the load times a lot, especially after the first load.
Some lazy loading in sequences also helped lower the startup time..

Note: The static classes were left behind to redirect the existing code's
calls.
Add dummy "perf" log channel to Utility
Fix caching by making the tileset part of the key
Less aggressive rules caching

ActorInfo instances depend on the whole set of ActorInfos
Refactoring to remove static Rules & SequenceProvider
Change comment about delayed actions
Merge ModRuleset and MapRuleset into Ruleset
Remove TileSetData and separate TileSet from Sequences
Move Ruleset.cs from Map/ to GameRules/
Remove stray newlines
Remove reference to Game.modData
Replace catch(KeyNotFoundException) with TryGetValue()
Rename ModInformation to ModMetadata
Revert replacing generic Ui.OpenWindow with static method in MusicPlayerLogic
Use proper map rules in ProductionTooltipLogic.cs
Better distinction between Widgets using the mod's DefaultRules or the map's Rules
Remove one line of forgotten commented-out code
Change animations to use the proper SequenceProvider

Remove references to the global "Game" and use the SequenceProvider
of the current world/map.
Remove unused "Manifest" argument from World constructor