A large collection of changes

Changed the interface for initiating battles. Added an offline battle
button. Added ribbons to Pokémon (although none are currently
available). Changed Pokémon, moves and abilities to use a string-based
system rather than an object-based system. The trainer class will now
intelligently fill, like pokemon. This fixes #93, adds some battle
rules and fixes #88. Large changes to BattleServer to improve the
infrastructure. Fixed a small bug with the textbox.