Hazard and fireball overhaul

Went over the fireball classes and renamed FireballControl
AbstractHazardControl, since that's what it was – moving each update
and hitting the player is general hazard behaviour, not
fireball-specific). HoveringFireballControl (the 'vanilla' fireball)
became FireballControl and took up the fireball model loading, and the
other fireball-control classes now extend FireballControl.

The fireball classes in spatial.hazard were renamed but nothing else
was changed.
Created a wizard alternative using Hazard

Created WizardHazard, an alternate wizard class extending Hazard, using
the ghostcontrol for an 'aggro range' behaviour. Unsure of whether to
use this or not; leaning towards yes because it means all our enemies
follow the same framework.
Made Wall and WindowFrame Nodes instead of Geometries

When we eventually load custom models for WindowFrame and other
spatials, we want the classes to extend Node anyway.
Use WizardHazard instead of Hazard

Ordinary Wizard is deprecated. Will be removed once I've talked to
David about it.
Moved Emil's fireball particle code to AbstractFireball