use initializer_list syntax for std::map when appropriate
In the sample GUI app, base custom exception class on std::runtime_error, which already has the required
functionality beyond that provided by std::exception.