MDI: fix a null pointer deref on window undocking
When a new floating MDI window was created, its position was tracked from the very beginning. This caused the window's initial move event, generated by the show() method, to be handled by the undocking mechanism. This event might contain outdated position information that, in certain cases, could trigger immediate re-docking of the floating window, setting its pointer to 0. If this happened, then the remaining code that configured the floating window would dereference the null pointer and crash the application. To fix the error, connect the floating window's signals only after it has been fully configured. This way its initial move events are ignored.