Work on new projectileweapon implementation
Implement level-ending behavior.

Enemies stop spawning and black hole sucks in all currently on-screen
enemies.
Merge branch 'master' into better-projectiles
Replace old ProjectileWeapon class
Write new weapon loader code
Implement new weapon system
Modify test weapon stats
rework ProjectileEffect handling
Fix hit bug
Re-add flamethrower
Tweak projectile particle effects
Implement gatling gun.

Introduces performance concerns:
MaxProjectiles is not calculated properly - firing gatling offscreen can
result in pauses in firing.
ParticleEffects are not optimized - increasing the fire rate on gatling
gun can cause slowdowns likely due to excessive particle creation and
destruction. Optimize ParticleGenerators to avoid allocating memory at
runtime.
Look into logic to prevent drawing objects offscreen.
Add shotgun
tweak projectile blur effect
Fix projectile spawn limit for multi-shot weapons