Using Scene object
Fixed issue with updating when child state updates

Because the frame loop has moved to the top level, we need to search the whole tree to see if anything in it is dirty. Ideally we should have something that maps all the components in the scene that handles this.
Tree now stores all the components