Added a more dynamic way for GameObjects to create new GameObjects, so removed all vector<GameObject*> returns.
Weapons now can create their own bullets.