make popups more predictable

Related to https://github.com/ArcBees/GWTP/issues/554
Agree on tests.

But with regard to firing onHide when moving a presenter from one slot to another.

This is easy to do. We can even call getView().removeFromSlot() but I think it shouldn't be done.  For most cases this just adds overhead to not much advantage.

If a user wants to ensure that onHide is called they can call removeFromParentSlot() before adding to the slot.