Move common code to a new PicardDialog class...

... and make existing dialogs sub-classes of this.