Bug 889899: use <div> instead of <iframe> for MMS attachment containers, r=julienw

Attachment containers use `<iframe>` in the SMS app because they are handy in the Compose area (work well in a contenteditable element): this ensures that attachment blocks are deletable but not editable.  However, `<iframes>` are a pain to use in the message thread, and can become a performance killer on threads with lots of attachments.

This patch keeps `<iframe>` containers for draft attachments in the Compose area but relies on `<div>` containers for the message thread.  To achieve this we use three templates:

* one `attachment-preview` template:
  - display it in a 80x80 px placeholder (can be extended to 120x80 or 80x120);
  - display the attachment size if in the Compose window;
  - do not display the file name for images
    (another patch will enable to display the file name on video with previews)

* one `attachment-nopreview` template: (audio, video, large images)
  - display the attachment type as a 80x80 px icon (audio, video, image, other);
  - display the attachment size if in the Compose window;
  - display the file name, both in the Compose window and in the message thread.

* one `attachment-draft` template to embed one of the two previous templates in an `<iframe>` container for the Compose area.

Non-draft attachments are displayed in a `<div>` container. In both cases (div or iframe), the container carries an `attachment-container` class and a `preview` or `nopreview` one.

Side notes:
* this fixes bug 882094 (display attachment file names in MMS);
* the `bubbleEvents` method has been slightly re-rewritten to be more self-explanatory;
* some basic cleanup has been done on the HTML & CSS front.
Merge pull request #10943 from fabi1cazenave/mmsAttachmentContainers-bug889899

Bug 889899: use <div> instead of <iframe> for MMS attachment containers, r=julienw