Provides support for dialogs.

## Package Specification

A dialog is a specialized window, typically consisting of a dialog area and a button bar, designed for narrow-focussed communication with the user.

The dialog framework consists of an abstract base class (`Dialog`), along with more concrete dialog subclasses for displaying messages (`MessageDialog`), soliciting text input (`InputDialog`), and displaying progress during a long-running operation (`ProgressMonitorDialog`).

Dialog stores (`IDialogStore`, `DialogStore`) provide a general framework for organizing a dialog's settings into key/value pairs. Multi-page dialogs are made easier through the use of dialog pages (`IDialogPage`, `DialogPage`).

Note: None of the classes in this package maintain global state.