Fix: Don't make web view editable. This allows drag-and-drop editing (highlight
       a selection, then drag it -- the text moves!). Or drag a selection, then
       delete it with backspace. Instead, the isContentEditable attribute is only
       briefly set True to highlight a line, then set back to False. Fixes #21.
Fix: Test failures occur when some preview_sync tests are run in the main loop.
       I don't know why.
     Allow waitForSignal to be called when the main loop is running by using
       a QEventLoop instead of the QApplication (which may be in use).