Many, many changes

Where to begin?

For the AI engine: Only the hosting AIContext is passed to an AI
constructor; the underlying battle session and unit must be accessed
through the AI context.  Also renamed useItem and useSkill to queueItem
and queueSkill, to make their purpose clearer (the former names
suggested the move would be performed immediately, which is not the
case).

Gamedef: Major refactoring to the gamedef system, and this is just the
tip of the iceberg.  Going forward, each type of game object (characters
items, enemies...) will get its own .js file.  Considering Game.js had
grown to massive proportions (about 40 KB!), this makes maintenance much
easier.

Game mechanics wise, this introduces a new "turn ratio" stat for enemy
battlers.  A higher turn ratio means the enemy gets more
turns--specifically, it represents the ratio between the enemy's average
turn count and that of a player-controlled battler with equivalent
stats.  This is used to compensate for the fact that many boss battles
are 3-on-1 without having the give the boss overpowered attacks.

Finally, this marks the start of work on the final climactic battle
against Scott Starcross in Spectacles III.