Prevent towers from shooting after killing all visible enemies

The towers had reference to dead enemies even if the target's health
was below 0.  We had searched list of enemies every frame to update the
target, so this issue had not been exposed until enemy waves are
implemented.

JavaScript, as a garbage collection language, keeps the enemy alive
if the towers refer to one.  So clearing the reference also helps to
reduse memory usage.
Bullets which hit nothing no longer generate hit effect

Bullets vanish when they touch border of the screen.  Previously, hit
effect is played back in CreateJS/EaselJS no matter whether the bullet
hits an Entity or the border, but it have costed unnecessary rendering
power.
Enable stage level selection mechanism

Instead of endless fight against enemies, the player can select from
list of stages with finite playing time and varying difficulties.
This way, the player can choose low difficulties while his turrets
are weak, in order to gain XP and money.

Current stage's progress is shown as a bar at the bottom of the game
window.  There are currently 10 waves in a stage.

Auto save feature is no longer invoked periodically.  Instead, it
is called when a stage is finished.  So the player should be careful
not to challenge too high difficulties.