EMsgComposer - Correctly save the composer mode into the message headers
EHTMLEditorSelection - Rework how the collapsed selection is saved

Also fixes the leakage of EHTMLEditorView is some code paths.
EHTMLEditorView - Save selection instead of just caret position when forcing the spell check
EHTMLEditorView - Introduce functions to register/remove the HTML "input" event on body

There are some cases that we want to avoid the call of the callback
(performance reasons and the avoidance of the unwanted modifications of
the composer content).
EHTMLEditorView - Don't lose the empty lines when converting HTML to plain text

Namely don't lose the new line on the beginning or on the end of
processed content and also on the lines with zero width space character.
Bug 732608 - Composer paste issues

We have to treat the pasting into the normal and the quoted
content separately. We have to also correctly process the new lines on
the beginning/end of the pasted content to avoid their lose.
EHTMLEditor - Fix indent/undent of the block
EHTMLEditorView - Remove our attributes from blockquotes when generating the HTML version of the message