NEW: Modified GameObject update() method to call a completeUpdate() abstract method, so subclasses now only need to override completeUpdate(), not update() itself, fixed visibilities of some methods in model classes, modified MapLoader to properly set current state of new map as background and set looping status of background state to true in its constructor