Refactor battle.js to use prototypes

Also add 'destroy' method to Sprite, Pokemon, and Side, as well as rename Battle.dealloc to Battle.destroy.