Move images to not overlap unit size label.
Made effects configurable.
Effects can now only be created via config file.
Added helper functions for parsing JSON.
Allow traits to be added automatically.

Certain combinations of attributes can trigger traits to be added.  We
don't want to require the traits attribute to come at a certain point in
the file.
Made spells configurable in a data file.
Simplify data file initialization.
Refactored defender animation decision.
Enforce SDL init prior to loading images.
Forgot virtual destructors in base classes.
Removed ideas that have been implemented.
Move mouse-move event back to main.

Need to do more complicated stuff with spell casting, and Battlefield
doesn't have access to enough information.
First cut at allowing spells to target friendlies.

The AI is a little slower because this assumes every unit might be a
spellcaster.  We can probably do better.