This fixes a single case of root being access from the control hide animation. Apparently it's possible that the widget is unparented from the window and unmaped but not yet unrefed? Fixes #473
Use root() instead and move one constructor to on root for having the root available.