Optimizations, shooting, and more bugs!

Adding shooting, I noticed that the flight controls weren't perfect before, after all. In fact, the ships were flying backwards, and there was a bug in the SGE that caused rotation to be clockwise instead of counter-clockwise. Long story short, I ended up fixing that bug and implementing shooting, finally.

Then came a little problem: shooting a lot of shots at a time was causing the game to slow down. My first step towards solving this problem was to put a limit on your firing rate, but that wasn't enough; every ship (out of 24) shooting was causing slowdown. What to do? Off to cProfile! Using this, I determined that, of all places, the collision function in the SGE was being slowed down by property calls! In fact, these calls were slowing down the collision function so much, that after optimizing them, collision detection time was cut in half. Imagine that! So I optimized them and sent the optimizations to the SGE repo.