Multi-File Split

This pull request is pretty dramatic; the single ableplayer file has been split into multiple files, which are then reassembled by the script compile.sh into a single ableplayer.js file in the build directory.  Make sure to run this script after making any changes you'd like to test, or else they won't go live in your build directory!

Part of the goal of the refactoring has been to make the creation process for a new player less ad-hoc, with an eye toward being able to rebuild the player on the page at any time.  Something like this will be necessary for implementing true multi-mode playlists mixing different media types requiring different player modes (such as Youtube or a JW supported format.)  I've tried to insert a lot of new comments as well to ease transition.

The new files are:

* ableplayer-base.js: Defines the AblePlayer object, and does some of creation of new objects.
* buildplayer.js: Building the DOM structure of the player.
* control.js: Handling control input and updating the controls
* dialog.js: Defining the AccessibleDialog class for preference and help menus.
* preference.js: Saving and updating preferences
* initialize.js:  Most Non-DOM initialization a new or rebuilt AblePlayer object; this is where control flows after ableplayer-base.js during creation.
* track.js: Setting up and responding to the loading of track data
* translation.js: Translations stuff
* browser.js: Browser compatibility tests
* caption.js: Displaying captions
* description.js: Displaying descriptions
* event.js: Setting up and handling user input and player events.
* misc.js: ...
* seekbar.js: Defining the AccessibleSeekBar class for the player progress/seek bar.
* transcript.js: Interactive transcript stuff.
* webvtt.js: The parser for WebVTT

There are also more bug fixes than I've been able to keep track of; I'll try and update all relevant issues on the Git issues page.

Apologies if anything was lost during the merge, since it was hard to parse out changes in ableplayer.js given the huge split...