Make Enemies shoot back to the towers

Although the current behavior of the enemies is just to shoot at
random direction, the towers can get killed.
Add game score and credits variable to game state

Also added a display window to show current score and credits status.

The score and credits are subject to game state serialization, which
means you can continue from the last session.
Make purchasing a tower costs credits

If the player is out of credits, he can not purchase new tower.
The cost is 100 credits for now.
Add tower's health value to target of serialization

Also moved serialization logic to Tower's method.  It's better way to
do in terms of object-oriented design.
Show hint to tower buy button when the mouse pointer hovers over it

The cost of a new tower increases as the number of existing towers
increases, which makes it difficult to have so many towers at a given
time.