Game objects generating new game objects

Added the possibility for game objects (spatials with controls) to
generate another spatial, in the current only example a Wizard
generating Fireballs. Each window in the level now has a WizardControl
that knows about the LevelControl (LevelControl checks all level
content for anything that implements LevelContentGenerator to ensure
this). The Wizards then spawn Fireballs and give them to the
LevelControl by the new levelControl.addToLevel():
Wizard class

Added proper class for Wizard (instead of just adding WizardControl to
a window). Made a real method for creating wizards in ChunkFactory.
Made WizardControl poll LevelControl for the player's position and
shoot fireball straight at them.
Broke out magic numbers in WizardControl to named constants.
Tweaked levelControl.addToLevel()

Added some javadoc and fixed so that the position it takes as argument
is the absolute position; not relative to the object's current position.
Broke out the outside-camera-check for loose game objects into method

Created method isOutsideLevelBounds in LevelControl, and now calls it
instead of cehcking numbers directly. Also added checks for objects
being too far right or down (e.g. fireballs flying past the player to
the right, with no chance of player catching up)
Merge Wizard-development into master, closes #6