translatable tooltips
add automated language string extraction to utility
fix bogus label descriptors
Streamline PerfSample.

- Avoid memory allocations by making PerfSample a struct, and tracking ticks manually rather than creating a Stopwatch instance.
Use Marshal.Copy for faster array copying.

- Rewrite several methods to use Marshal.Copy to copy data faster and more succinctly compared to doing it manually.
- Rewrite Sheet.AsBitmap(TextureChannel, Palette) with a faster and more self descriptive loop.
Merge pull request #5602 from RoosterDragon/perfsample-streamline

Streamline PerfSample
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
fix captured C&C command centers giving no new build options

closes #2129

use RequireOwner: false and Prerequisites: ~disabled
fix capturing not updating the tech tree

closes #2187