Root scope cleanup.

Moved a bunch of code from the subtitleEditor directive to a new
controller called AppController.  I think most of that code makes more
sense in a controller than a directive, and it lets us use
ng-mousemove rather than a jquery event.  Unfortunately, it still
doesn't let us use ng-keydown for some unknown reason.

Refactored code that deals with timelineShown and scrollingSynced.
Now it uses scope inheritance instead of always accessing the root
scope.

Use $root.$emit rather than $root.$broadcast.  There's no reason why
child scopes need to hear the event.
Don't steel keypresses from textarea.

This allows you to use the up/down keys in a textarea.
Always display timing info for subs, not just on hover.

Display "unsynced" for unsynced subs instead of "--".
Change duration for unsynced subs to 4 seconds.
Implemented navigation through subtitles using the tab key

Don't handle focusout in the subtitle textarea when we have already
set isEditing to false.  Otherwise we have a loop where stopEditing()
hides the textbox, which results in focusout, which calls
stopEditing() again.
Allow timeline drags to continue if the mouse leaves the timeline.
Fix drag and drop of unsynced subtitles.

Removed the SubtitleItem.clone() method.  That was just a bad idea.
Instead, have the timeline code make its own fake subtitle to use.
Tweaks for timeline dragging code.

Keep the drag going if the mouse leaves the timeline.  Prevent the
default to disable the browser selection code from happening.
Set focus when we add a new subtitle.
Make timeline font match the rest of the page.
Don't display an extra blank line in the language version select.

This was a pain to fix and I had to resort to a hack for it.

Tried to clean up the LanguageSelectorController a bit.
Move changesMade to the correct scope.

Not sure how it got in the LanguageSelectionController's scope, but it
should be in the SaveSessionController's scope
Fix initial textbox height for multi-line subs.
Refactored video handling.

Moved code from the VideoController into a service.