Eliminate use of timers for showing/hiding various buttons during battle

The original design of makebattle would spin off three timers for every battle performed -- each executing 10 times per second -- and those timers would *never be deactivated*.
So basically, after playing for a while, you had (3 * number of battles performed) timers in the background that did little or nothing!

This commit makes the following changes:

(1) 'skillbutton', 'healthbutton', and 'potionsbutton' functions were renamed to 'checkskillbutton', 'checkhealthbutton', and 'checkpotionsbutton'.
(2) Each of these functions now executes once and returns, rather than creating a persistent background timer.
(3) healthbutton and potionsbutton are called after using one of the relevant potions.
(4) makebattle now returns an object with two properties: 'html' and 'init'.
    'html' is the HTML that was returned by the original makebattle implementation.
    'init' is a function that calls skillbutton, healthbutton, and potionsbutton.
(5) All routines that call makebattle now recognize that the HTML goodness is in 'battle.html' and not just 'battle'
(6) All routines that call makebattle now call battle.init() after processing the HTML but before calling fadeIn() to display the window.

The end result is that makebattle() no longer leaks background timers.
Prevent enemyattack() from being called after the attack is over

enemyattack() creates two background timers:
* The first waits 200ms and then actually damages the player.
  If the player's HP is reduced to zero, enemyattack() is called again stop the battle and close the window.

* The second waits a random period of time (2-3 seconds), then calls enemyattack().

The upshot is that when the player's health is reduced to zero by an attack, the window is immediately closed and the battle is stopped.
However, 2-3 (well, 1.8-2.8) seconds later, the second timer will fire and attempt to end the battle *again*.  Things go amiss if
a new battle has been started.

Solution: If the first timer shuts things down, have it abort the second timer.
When the battle ends, immediately cancel all battle-related timers
Merge pull request #1 from Stevie-O/gh-pages

Fix for game slowness after many battles, and "instant death" if new battle starts within 5 seconds of previous one