dialog should start in "hide" state

If you created the dialog but show()ed it some time later, the effect
would not play. Only on subsequent hide() + show().

Some feedback would be nice, otherwise I will merge this in a few days.