Hopefully the last fix for HTML escaping.

The previous fixes were flawed.  They made it so we double-escaped the
HTML text when saving.  So if you entered "<div>" in the textbox, we
would save it as "&amp;lt;div&amp;&gt;" instead of "&lt;div&gt;".
This would make things render correctly, but the XML we stored was
incorrect.  This made things confusing and I also think if you
downloaded the subtitles you would see the bug.

I think the new system handles things correctly:
  * Our StoredSubtitle objects store the unescaped markdown
  * When we convert markdown to HTML/DFXP we escape the text.
  * Undid the changes to the old widget.  It was actually handling
    things correctly before.

Also reworked the code that converts markdown to DFXP before saving
it.  I think the new code is simpler and more correct.  For example,
if convertedText is simply a string with no HTML elements the new code
works and the old code doesn't.

This goes along with a fix to the babelsubs branch that fixes it so
when we render the subtitles as HTML, we properly escape things.
Fixed scrolling the sync helpers (#1195)