Related to #1213738: Alpha Lights Crash

AlphaShapeClass does not clear the AttachedTo pointer if it becomes invalid. Instead, it sets IsObjectGone. Ares did not account for this smart move.

The hook AlphaLightClass_UpdateScreen_ShouldDraw broke a test instruction and did not reproduce it. This was most likely the root cause of the crashes (calling DrawVisualFX on a nullptr ExtData).

The hook TacticalClass_UpdateAlphasInRectangle_ShouldDraw exhibited the same behavior and was the actual location of the crash. It was not tested whether the fix mentioned above alone made this crash disappear. Just to be sure, this one is updated as well.

Hooks into the same functions still access AttachedTo without checking whether it is valid, but both updated hooks skip them.
Related to #1204514: Animation warheads and AffectsAllies

Unified all branches of the conditional, the Attacker, SourceHouse and the default one. Default is to affect everything, then Attacker owner or SourceHouse are used to apply either AffectsAllies or AffectsEnemies. The original code is now skipped, and Ares handles it all by itself, hopefully in a way that is easier to read and to overlook.

Updated the comment about neutral targets (or their non-existence) and removed parts that don't apply any more.
Minor changes.
Re-purpose Attach Effect pointer invalidation

Changed the argument from AnimClass* to void* to take all pointers (instead of all pointers cast to AnimClass*). Changed the names accordingly.
Invalidate Attach Effect invoker.
Minor change.
Removed AnimAlreadyKilled.