changed rotation math from cos0 to -cos0 to keep vector math simple and consistent
refactored projectile to be an abstract class