GUI: show a warning for "unknown" multipart/alternative parts

v2: Also provide simple captions for text/plain and text/html MIME types, and
simplify the code by calling setTabIcon instead of repeating the call to
addTab().

BUG: 332950
REVIEW: 117335
Ubuntu: improved loading of error dialogs

I eventually figured ou that if you passed the dialog as a url you can use the
caller parameter (which in our case is the appWindow) which drives the dialogs
placement.

The third parameter can hold a series of properties configuring the popup to be
opened. This can be any property defined by the popup