Fixed the turret barrel's target tracking. Broke a couple other things
that need to be reworked anyways. AI should be implemented as subclasses
of ControllerComponent. Custom sprite creation should be done by
creating a new class for each different kind of sprite. That sprite's
constructor will definie which components it uses. Child sprites that
are spawned by that sprite (such as bullets) should be handled by
creating a spawn method in the parent sprite that creates the child
sprites (or queues an event to do so). The behavior of those child
sprites will be defined by their own ControllerComponent. There is no
need for Launcher classes as this is creating an out of place component
to duplicate funtionality we already have.
still cleaning things up.