Child window support + popover fixes

This commit:

- Adds full support for child windows, including nested child windows.
- Implements popovers as child windows, which means they will properly move with their parent window.
- Fixes a multitude of popover bugs, especially with nested popovers.