Generalize ProjectileList to an EntityList

The EntityList is a functor so you can map over its values.
Clean up code and fix visual rendering bug