Fix issues causing the quicktext to always be replaced on the first text node in the contenteditable. This was caused by the fact that you can't pass window.getSelection() around, since it's passed by reference and always refers to the latest selection.
Fixed it by passing the focusNode as a paramter, instead of the selection.
Replace the caret positioning in the autocomplete replace method, to no longer use the `#qt-caret` virtual caret, and position the caret after the lastChild of the documentFragment.
Fix issues with the autocomplete dialog not showing up because it didn't find any quicktexts. We now show the dialog even if we haven't found any quicktexts for the current query, with the default `no quicktexts found` message.
Fix issues with restoring the focus when using the Enter or Esc keys to close the autocomplete dialog.
When closing the dialog with the esc key, restore the caret in the previous position.
Force a sans-serif font and a 12px size for the text in the autocomplete dialog, so it doesn't get too small because of the parent styles.
Load the content script at `document_end` instead of `document_idle` to fix issues with websites (eg. gmail) not loading the contentscript because it keeps making ajax calls in the background.
In the outlook plugin, get the name from the top right, in case we couldn't get it from .fromContainer.
Fix issues with parsing the names in the yahoo and outlook plugins.