Support invisible UI and make sure that RootView cleans up all windows before exit.