Merge pull request #5601 from RoosterDragon/sheet-perf

Speed up some loops with Marshal.Copy
Merge pull request #5152 from Mailaender/auto-l10n

Automated translation string extraction
Minor changes to reduce allocation.

- Cache a predicate in ActorMap.
- Use short circuiting to skip a call to HasTrait in AttackBase.
- In AutoTarget.ScanForTarget, move the check for the scan time above the calculations since we can skip them if it's not time yet.
- In AutoTarget.ChooseTarget, merge four Where calls into one.
Merge pull request #5401 from RoosterDragon/nodesdict

Changed MiniYaml.NodesDict property into a method.
Merge pull request #5540 from RoosterDragon/begin-frame-cache-viewport

Avoid redundancy in BeginFrame.
Rewrite SyncReport for clarity and performance.

- Drop the impressive but inscrutable dynamically generated code in favour of some plain old code.
- Cache type information so costly reflection need not be performed each time.
- Only capture values from a sync object into an array rather than a dictionary lookup of both names and values for efficiency.
- Throw if the sync attribute is used on a property that cannot be read or that uses index parameters.
Use expressions to generate fast member access code rather than using the slower reflection based methods.
Removing requirement to restart game after applying changes to mouse focus option. The setting now defaults to 'false' as it is likely to be disruptive to players who are used to the usual behaviour in windowed mode.
Adjust travis config to update package lists before installing dependencies
Merge pull request #5621 from chrisforbes/travis-update-before-installing

Adjust travis config to update package lists before installing dependencies
Change terrain type from string based dictionaries to arrays
Add developer shortcut to reload chrome files

Hitting Ctrl+Shift+C will re-initialize the chrome provider,
reloading all chrome files instantly. Useful when changing the
UI.

Note: A new "RootWidget" was created to trap top-level (global)
shortcuts instead of putting everything in Widget.
Invalidate FrozenActors that don’t have any sprites. Fixes #4809.
Merge pull request #5463 from pavlos256/perf-terrain-movement

Change terrain type from string based dictionaries to arrays
Move GetTerrainIndex/Info from WorldUtils to Map
Move ClampToWorld from WorldUtils to Map
Move ChooseRandomCell from WorldUtils to Map
Move DistanceToMapEdge from WorldUtils to Map
Move FindTilesInCircle from WorldUtils to Map
Move ChooseRandomEdgeCell from WorldUtils to Map