[TS] fix Prerequisites and typos

changed the Prereqs

aircraft changes

vehicle changes

Infantry changes

removed forgotten (who has added this crap)
bring back CSV damage per second export
Add smudges to TS weapons
Fix Laser Turret and Nod SAM Site selection bounds
tidy cnc mod dll
Create a separate FrameCache for caching sprite frames.

We split the caching SpriteLoader into a SpriteCache and FrameCache. SpriteLoader instead becomes a holder for static loading methods.

Only a few classes loaded sprite frames, and they all use it with a transient cache. By moving this method into a new class, we can lose the now redundant frame cache, saving on memory significantly since the frame data array can be reclaimed by the GC. This saves ~58 MiB on frames and ~4 MiB on the caching dictionary in simple tests.
Merge pull request #6534 from Mailaender/dps-table-utility

Brought back damage per second export again
MCV no longer loses controlgroup when transforming
Fixed ICrushable not being triggered properly
Merge pull request #6716 from LipkeGu/ts_PreReqs

[TS] Correcting the Prerequisites
Fix HQ rules in nod03a and nod03b.
Fix the in-game widget hierarchy.
Add world desaturation to TD end-game menu.
fix syntax errors
Merge pull request #6741 from Mailaender/tidy-cnc-dll

Tidied the Tiberian Dawn mod DLL
Fix RenderGunboat wake animation
Merge pull request #6767 from huwpascoe/crush-fix

Fixed ICrushable not being triggered properly
Merge pull request #6769 from pchote/fix-nod3-hqs

Fix HQ rules in nod03a and nod03b.
Merge pull request #6758 from RoosterDragon/fix-spriteloader-overcache

Create a separate SpriteFrameLoader for caching sprite frames.
Support changing owner from within scripted maps.