Added WithDeathAnimation

Deprecated RenderInfantry's SpawnsCorpse logic, renamed CrushableInfantry to Crushable (it can now be used to make other actors crushable too, afterall).

This can be used to replace DeadBuildingState, too, once #6389 is fixed.

For corpses rather than death animations, read the comments on #4163 about using LeavesHusk for that.
The `Requires<WithDeathAnimationInfo>` and `self.Trait<WithDeathAnimation>();` guarantee that wda is defined by the time you get this far, but also mean that the game won't accept crushable actors without that trait.
This will only ever be called once, so there's no real advantage to caching this up front.  I would remove the the `Requires` and caching in the constructor (which will allow this trait to be used on actors without `WithDeathAnimation`), and then change this code to

```csharp
var wda = self.TraitOrDefault<WithDeathAnimation>();
if (wda != null)
	wda.DeathAnimation(self, wda.Info.CrushedSequence, wda.Info.CrushedSequencePalette);
```