fix some gui entity update interdependency issues, make gui root a rect