Made workflow tests pass after the changes to them.
Moved adjustReferenceSize() out of the subtitle repeat directive.

I'm going to be messing with it, so I figured now was a good time to
do this refactoring.  Pretty sure things should still work fine.
Refactored subtitle-list directive

Moved it to the parent element since that's the one we actually are
operating on.  Renamed it subtitle-scroller, since I think it's more
accurate.
Refactored how we implement the subtitle-repeat directive.

Moved the code from the template to the directive itself.  Having it
the template was nice when it was just interpolations, but now that
it's getting more complex it's kind of crazy.  We're basically
re-inventing the angular template language and I'd rather not continue
to do that.

This should be functionally the same as before, but hopefully easier to
extend.

Updated/cleaned up the CSS and markup we use for each subtitle LI:
  - Use <button> instead of <a> tags
  - Just put the image inside of the button rather than the CSS trick.
    I'm not sure what we're really accomplishing by that and I believe
    it makes the rendering slower.  If we want to we could add an alt
    property, but I think we really need to rework the entire page if
    we want it to be usable without images.
  - Use &para; instead of directly encoding a paragraph char.
  - Removed classes that we no longer use like span.arrow
  - Removed the unnecessary div.header tag.
  - Added 1px of margin to the right of the <ul> element.  Before it
    was overflowing into the scrollbar area on my browser (chrome).
Render HTML correctly in subtitle items for the new editor (#1195)

This also fixes the character count.
Fixing #1195 fallout.

Fixed key handling when in edit mode.
Fixed character count when we have HTML entities.
Added closing tag for our <ul> elements.  This fixes the link issue at
the bottom.
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)
One more HTML escaping piece (#1195).

I don't love the duplication of code between this file and dfxp.js,
but hopefully all the editor stuff is going away soon.
Merge pull request #1220 from pculture/gh-1195

Gh 1195