Improve actor preview rendering

This introduces an `IActorPreview` interface and `ActorPreviewInitializer` class, and wires them up for our existing render traits and PlaceBuildingOrderGenerator.

Specifically, this adds support for:
* Mixed voxels and sprites in building previews (e.g. the TS laser turret).
* Previews built from multiple sprites, which fixes building previews for TS and the D2K turret.
* Correct initial facings for base defence turrets.
* Animated building previews (spinning radars, blinking light, etc).

This will also become a key part of the ingame map editor, and can be used to create ingame modding tools such as a sequence previewer or weapon/turret offset calculator.

The best way to test this right now is to disable the tile footprint previews in the PlaceBuildingOrderGenerator.  A later pr will change PBOG to render valid tiles below the preview, and render wall previews consistently with regular structures.