Added shields and explosions.

-Added green shields to the game that get regenerated every new wave.
They all have 4 blocks, and each block will go away if they're hit by
either an invader or shots from an invader/the player.
The shields are composed of two classes: ShieldBlock, which is an
individual block of each shield, and Shield, which is a list of
ShieldBlocks.

-Added an explosion class that can animate itself. Now all of the
invaders explode when hit.

-Added all the necessary methods to make the above changes work. I added
checks for invader/shot collisions on the shields, as well as a method
to make an invader explode when hit.