Fixed/Refactor: Found some unsettling behaviour in the foundational game object code.

Updated: Components are now being destroyed in game objects when they haven't already been removed.
Fixed: Game objects are no longer being removed immediately.

Note: Making the flush and destroy function no longer necessary is the current goal.