Add big bad boss

This mega-commit includes setting up the boss, adding his movement
and "AI", setting up his special weapons, and adjusting the pacing.

While it is a lot of code, it mostly variations on what we have
already done.

Take note of:
- how the ray guns are added to the boss sprite so they
move with it
- the timing on the boss's fire method
- the logic for when the boss fires
- the hit test on the boss