Change semantics of surface mapped and unmapped

If a window is hidden (setVisible(false) / hide()), do not remove
it from the model. Only when surface gets destroyed
(on QWindow::close()), remove from window model.
Bump the QQuickWindow revision of the LipstickCompositor
Emit windowHidden signal when a surface is unmapped