Merge remote-tracking branch 'michelled/FLUID-4647'

* michelled/FLUID-4647:
  FLUID-4701: Code improvements based on review.
  FLUID-4701: Changing to using 'invoke' instead of 'invokeGlobalFunction' so that it would be possible for an integrator to override the function signature.
  FLUID-4701: Adding a lookup table for track creation functions based on type.
  FLUID-4803: Fix title of all-tests file
  FLUID-4803: First pass at qunit upgrade. Tests don't run in Safari and Chrome on Mac yet.
  FLUID-4744: Linting.
  FLUID-4792: Ensure transcript is not re-rendered unless it has to be
  FLUID-4701: Minor code tidy up.
  FLUID-4701: Tweaking default line height in the Mammals demo.
  FLUID-4701: Overriding Captionator styling so that it will respond to UIO settings for font size and line spacing.
  FLUID-4701: Fixed default styling in the Mammals demo. Fixed a cross browser issue when finding track elements in the DOM. Linting.
  FLUID-4749: Add title to volume controls container.
  FLUID-4801: Ensure the <object> element inside the <video> element is not in the tab order (for IE9).
  FLUID-4792: Ensure keyboard-a11y of transcripts each time new transcript is displayed (not just loaded).
  FLUID-4786: A bit more code clean-up
  FLUID-4786: Add one MenuButton test
  FLUID-4786: Add aria-controls to captions menu using same method as transcripts menu.
  FLUID-4786: Code clean-up.
  FLUID-4701: Made the transcript feature work with the refactored Amara JSON support.
  FLUID-4786: Clean-up, de-linting.
  FLUID-4786: Clean up arguments to events
  FLUID-4786: Code clean-up; move boiled event args specification to a demands block
  FLUID-4786: Start cleaning up MenuButton.js; revert infusion to master
  FLUID-4786: Clean up tests for aria-controls
  FLUID-4701: Updating Captionator to a fork that implements partial data url support.
  FLUID-4786: Working on tests for aria-controls
  FLUID-4786: Get the ID of the transcript area to the aria-controls setup function
  FLUID-4786: More code clean-up
  FLUID-4786: Convey menu and transcrip to menu component, start cleaning up; need to move stuff into demands blocks
  FLUID-4786: Successfully convey controls and transcript to controls-level function
  FLUID-4786: temporary commit
  FLUID-4786: Temporary commit
  FLUID-4701: Encoding the data url.
  FLUID-4793: Fixing test JSON and VTT files
  FLUID-4786: in-progress commit
  FLUID-4793: Fixing timestamps for vtt files
  FLUID-4793: Fixing time stamps for JSON transcript files
  FLUID-4783: Updating the Infusion Readme to document UI Options HTML customizations
  FLUID-4701: Clarifying some comments. Fixing the data url being added to the track element with amara sourced captions - not sure if the format is corrrect yet.
  FLUID-4783: Ensure the basic demo includes the UIO media panel.
  FLUID-4701: Sketch of amara json to vtt support.
  FLUID-4661: One more tiny code dehydration
  FLUID-4744: Removing useless option
  FLUID-4744: Using tooltip component for ToggleButtons instead of hardcoding it in the preInit. Also rewriting tests for volumeControl tooltip checks
  FLUID-4661: Code refactoring after FLUID-4779 got in
  FLUID-4779: Minor renaming of full screen feature detect to match convention.
  FLUID-4779: missed v.requestFullScreen
  FLUID-4779: Adding requestFullScreen for supportsFullScreenMode flag in case if browsers will be using the same API instead of vendor prefixed functionality.
  FLUID-4779: Using proper demands to hide a fullscreen button. using a proper name for the fullscreen feature
  FLUID-4779: Fixing css rules to be cleaner. Removing useless feature.
  FLUID-4779: Reversed my changes. Showing fullscreen button only if init styling is present on the button.
  FLUID-4779: Removing a comment.
  FLUID-4779: Using IOC setting fullscreen button to be an empty subcomponent. Also making button to be invisible if the toggleButton is an empty subcomponent through css class modifications. Rewriting tests to reflect that.
  FLUID-4786: Back out the transcript menu 'aria-controls' work
  FLUID-4661: Making code more readable and using apply() instead of calling function by its name through videoEl object
  FLUID-4786: aria-controls on transcript area language drop-down
  FLUID-4786: Replace deferredCall with dom binder reference
  FLUID-4786: Add aria-controls to MenuButton button, referencing the menu
  FLUID-4701: Adding overrides for caption colours in high contrast themes.
  FLUID-4786: Add comments noting problem with transcript subcomponent instantiation
  FLUID-4786: Fix bug where transcript subcomponent was being instantiated twice.
  FLUID-4661: Refactoring some of the code to be more robust
  FLUID-4779: Making code more robust and less dependent on the browser type
  FLUID-4779: Removing this hideous git add js/VideoPlayer.js! statement
  FLUID-4786: First pass at setting up the 'aria-controls' attribute.
  FLUID-4744: Refactoring code according to the pull request comments
  FLUID-4786: Use decorators to add aria attributes; use menuitemcheckbox instead of menuitem
  FLUID-4786: Tests for ARIA
  FLUID-4786: Expaning ARIA on MenuButton.
  FLUID-4744: Added cleanup for tests by removing focus from the items. Also changed a code a bit so that tooltipContainer always represents a proper container for a tooltip in a toggleButton even when options was not supplied.
  FLUID-4744: Adding tests and changing naming to make options more clear.
  FLUID-4786: Add ARIA to the MenuButton components.
  FLUID-4782: Removing DebugFocus.js, which was added in error.
  FLUID-4744: Using tooltipContentFunction instead of contentFunction. Adding CSS so that tooltip is always on top of the videoPlayer controls. Movind mouseleave and mouseenter into bindDOMEvents function. Dehydrating bindDOMEvents function. Using string in the options to retreive Volume string for a tooltip
  FLUID-4782: Force 'select' of current transcript if play has already started.
  FLUID-4744: Changing volume control tooltip if mouse hovers over the volume slider
  FLUID-4782: ensure that user can shift+tab out of the transcript area
  FLUID-4782: Clean-up.
  FLUID-4782: First pass at keyboard-a11y for transcript area.
  FLUID-4778: Make MenuButton responsible for its own keyboard control
  FLUID-4778: Refactor code a bit.
  FLUID-4778: Start improving keyboard-a11y of MenuButton.
  FLUID-4778: Start correcting the keyboard interaction for the captions and transcripts menus.
  FLUID-4745: Clean up binding of press() to click for toggleButton
  FLUID-4778: Fix the kbd interactions for scrubbing when focus is on the video player element
  FLUID-4778: Fix the kbd interactions for volume when focus is on the video player element
  FLUID-4756: Expand linearRangeGuard test.
  FLUID-4756: Add tests for linearRangeGuard
  FLUID-4756: Fix to fluid.linearRangeGuard, which was using the wrong max value for setting.
  FLUID-4745: Restore mute button activation via keyboard.
  FLUID-4777: Fix positioning of button icons as font enlarges
  FLUID-4777: Fix positioning of scrub bar and captions
  FLUID-4777: First pass at correcting tab order. Scrub-bar now between buttons, sliding and captions move correctly.
  FLUID-4747: Extend tooltip fix to other themes
  FLUID-4747: High-contrast focus styling for language menus
  FLUID-4747: Add focus styling for other themes
  FLUID-4701: Swapping in an unchanged version of Captionator and adding a style to position the cues correctly.
  FLUID-4747: yellow-on-black focus styling, plus some basic styling fixes
  FLUID-4747: Adding focus styles to caption and transcript menus, and transcript close button.
  FLUID-4747: Basic focus styles for default theme
  FLUID-4744: Changing all occurrences of toolTip to be tooltip. Fixed CSS a bit. Tested CSS on Chrome, Safari, IE9 and FF and it looks good.
  FLUID-4661: Removing the comment since it is a misleading one. All the details about the problem will be in the JIRA.
  FLUID-4779: A small test fix.
  FLUID-4661: Small code optimization.
  FLUID-4779: Hiding fullscreen button for Opera and IE since those browsers do not support video full screen mode. Added tests as well.
  FLUID-4661: Changing comment for the added code. Added an opera prefixed events to look for once Opera 12.5 support full screen html5 mode.
  FLUID-4751: Applying role="slider" for the proper html element.
  FLUID-4744: Changed ToggleButton so that it accepts another option to set a tooltip not to the toggle button but to a custom container provided by a parent containing this ToggleButton
  FLUID-4661: Adding support for Chrome as well
  FLUID-4661: Change fullscreen button to have a proper styling once fullscreenMode is off. Also added tests for this case.
  FLUID-4652: Hide the caption/transcript menu activated by their toggle buttons by pressing escape key.
  FLUID-4664: Updated un-minified MyInfusion.js with the latest infusion master branch.
  FLUID-4664: Updated minified MyInfusion.js with the latest infusion master branch.
  FLUID-4546: Initial check-in of video player integration test.
  FLUID-4741: Commenting out fluid.log() statements (leaving in the case of error logging).
  FLUID-4741: Convert console.log() to fluid.log() to avoid IE problems.
  FLUID-4643: Added unit test and a bit of the code optimization for transcript component.
  FLUID-4641: Removing extraneous event listener
  FLUID-4640: Move language controls out of 'controllers' namespace
  FLUID-4640: Improve factoring of some tests.
  FLUID-4639: Removing un-used caption files
  FLUID-4640: Removing the setting of tabindex to -1 on the 'button inside the anchor' since that setup is no longer being used.
  FLUID-4640: Linting
  FLUID-4640: Factor existing MenuButton tests into separate file.
  FLUID-4644: Clean up main controls test HTML.
  FLUID-4644: Clean up test HTML file
  FLUID-4644: Clean up text in tests name
  FLUID-4644: Clean up un-used HTML.
  FLUID-4644: Add some ToggleButton tests; remove un-used (and wrong) function.
  FLUID-4644: Factor ToggleButton tests into separate file.
  FLUID-4607: Commenting out the timeouts so video players in the demo get created immediately.
  FLUID-4607: Swapped order of CSS includes to prevent issues with jQuery UI "lightness" style
  FLUID-4607: Fix for issue where zero video players were created on the original page, and the first was not created until after UIOptions has fully initialised
  FLUID-4694: Add commented code for demo, plus comments in the new code.
  FLUID-4694: First sketch of handling Universal Subtitles files for transcripts
  FLUID-4607: Small tweaks to demonstrate that video players can be created arbitrarily late during the page cycle and still be wired up to UIOptions correctly. This is a demonstration fix which delays the 3rd videoPlayer on the page by 5 seconds - this should be reverted once OER demo is stable and we have automated test cases.
  Updated to latest infusion branch build after review fixes
  FLUID-4607: Finished migrating out the last few media-specific icons and CSS from the core framework
  FLUID-4607, FLUID-4531: Successfully deforked framework version of UIOptions and all media panel materials moved back out into videoPlayer project.
  FLUID-4677: Changed the code according to Michelle's feedback. Optimizing and cleaning up the code. Removing a minified version of the captionator since it is not in use.
  FLUID-4677: Added a link to the StackOverflow page where the code was taken to do a JSONP request
  FLUID-4677: Added language to the Universal Subtitles URL to pull EN language, just in case
  FLUID-4677: Removed a testing line from the header
  FLUID-4677: Change function names to more appropriate ones.
  FLUID-4677: Tiny change for error handling
  FLUID-4677: Cleaned up code.
  FLUID-4677: Code before cleaning up
  FLUID-4677: Working captionator with jsonp. Need to clean up code.
  FLUID-4677: Parsing json to vtt format
  FLUID-4677: First working example with jsonp
  FLUID-4677: Adding type to the textTrack so that we can use it in order to get jsonp later on
  FLUID-4607: Fixed up controls test case for rename of volume controls out of condemned "controllers" package
  FLUID-4607: Cleaned up implementation of mute button, verified function and removed logging. Now fix for "anti-jank" at startup uses deferred strategy for constructing video players - this should result in better startup performance. Also, fixes for issue of transcript failing to update highlight state when changing transcript.
  FLUID-4607: Apparently working version which has been returned to using an proper Infusion build (currently from amb26 FLUID-4607 branch). With new framework support for source tracking, mute button appears working. Learner options text extracted to demands block, some tweaks to volume bar styling for Chrome.
  FLUID-4632: Added unit tests as well as code clean-up.
  FLUID-4632: Fixed two issues: 1. In IE9, the buffer progress bar sits on top of the scrubber instead of overlay; 2. In Chrom or IE9, the buffer progress replays when the controller bar is shown from the hidden state.
  FLUID-4635: Commenting out console.log statements which prevent the video player from working in IE when the dev tools are off.
  FLUID-4632: Implemented the buffered progress bar by using fluid.progress component as well as some styling fixes.
  FLUID-4582: Incomplete work on mute button
  FLUID-4632: Removed debug code.
  FLUID-4632: Add/pass/listen to buffered info. The reflection on the scrubber bar is followed.
  FLUID-4596: Fixing the colours for the volume slider and the font size on the scrubber handle.
  FLUID-4582: Adding the new video player framework file to the simple video player demo.
  FLUID-4582: Fix for various issues relating to synchronization of captions and transcript state. Thorough refactoring of toggle button and "language menu" components, with improvement of model idiom. New framework facilities moved into dedicated file VideoPlayer_framework.js including new base grade "fluid.videoPlayer.indirectReader" to temporarily work with prevalent "modelPath" idiom. Some controller tests removed, not all remaining tests are running due to sync issue with creating "tracks".
  FLUID-4610 - Adding 1ms to start time to avoid rounding error removes "can't click on next transcript" bug
  FLUID-4622: Reverting effect of bad merge which regressed track names from "French" back to "French Transcripts"
  FLUID-4582: Added media panel integration into VideoPlayer demo page
  FLUID-4560: Fixed up unit tests for video player. Some were assuming that operating a menu element should cause the menu to become visible, which is illogical since they could not have been operated otherwise. Others were calling "click" on a raw DOM li element, which fails on Chrome and other browsers. These were wrapped in a jQuery before the call. Light cleanup of MenuButton workflow
  FLUID-4627: Removed resizeHandler() which is no longer in use.
  FLUID-4627: Make the mammal demo video larger as well as some code clean-up.
  FLUID-4627: Refactoring CSS in order to remove some of the !important statements as well as remove redundancy.
  FLUID-4627: Applying styling improvements on the transcript area.
  FLUID-4619: Properly named the video player main container.
  FLUID-4587: Mostly working version of media options integration, together with fixes for a number of other demo issues:
  FLUID-4596: Adding a comment to the stylesheet.
  FLUID-4596: Improving the styling of the scrubber in the high contrast themes.
  FLUID-4619: Cindy and Alex worked on the cross-browser styling for the videoPlayer (Chrome, Safari and IE9). Removed some of the CSS which is not in use anymore. Styled videoPlayer differently to show properly on Mammals and in basic demo. Decreased number of dynamic css calls in videoPlayer.js and cleaned up the code. Great success!
  FLUID-4596: Improving the styling of the scrubber handles in the high contrast themes.
  FLUID-4596: Modifying the toggle button to have an inital state. Added styles to show the pressed state for the captions and transcript buttons.
  FLUID-4596: Renaming a couple of the icons to match the convention.
  FLUID-4619: Experimental code with a markup redesign as well as proper styling for transcripts and all together videoPlayer container. WARNING: hiding of the overlay area is disabled. Some text is added to the videoPlayer basic demo to test layouts.
  FLUID-4608-merge: Removing the cause for console error messages which are generated when tests are executed.
  FLUID-4596: high contrast button styles for the video player
  FLUID-4619: Styling height of the transcript content so that it looks better on the Mammals demo page
  FLUID-4619: Fixing the height of the transcript area.
  FLUID-4622: Making html5Captionator tests up to date since videoPlayer turns off captions and transcripts by default now.
  FLUID-4619: Moving captions a bit higher on top of the time div.
  FLUID-4596: fixes language menu styles in Firefox 10, related to percentage-based widths
  FLUID-4570: Fixing the regression by introducing an invoker and attaching listeners to the new function since fullscreen is not an option anymore
  FLUID-4622: Disabling captions by setting them to false in the videoPlayer.js and removing from the videoPlayer schemes in HTML
  FLUID-4596: adds reasonable styling to the language and caption menus. Also:  * removes horrendous red focus outline in favour of the default for now  * removes apparently unnecessary call to nonexistent event (eek) to avoid console errors when navigating with the keybooard  * improved labels for the language menu items
  FLUID-4622: Disabling captions and transcripts by default.
  FLUID-4587: Barely working integration of UIOptions media panel with video player. This has involved various "hot patching" to the framework and has got to the point where at least checkboxes can be demonstrated to affect all players on the page. A lot of cleanup and fixes needed from here.
  FLUID-4570: Removing transcript height configuration from the fullscreen function.
  FLUID-4621: Added toggle button and language menu files to the Mammals demo.
  FLUID-4610: Fixed the typo of "langaugeDropdown".
  FLUID-4621: Adds Anastasia's version of the ToggleButton from her FLUID-4556 branch. https://github.com/acheetham/videoPlayer/blob/b6f72ef9a7bff4c4500f32787bf3092473cb58e5/js/VideoPlayer_controllers.js
  FLUID-4607: Adding in the media panel CSS file.
  FLUD-4621: Splits toggle button, language menu, and language button into two separate files.
  FLUID-4607: Changing the fat panel frame html to link in MyInfusion instead of the individual javascript files.
  FLUID-4610: Fixed the interval event queuing-up issue when the scrubber bar is slid back and forth quickly.
  FLUID-4607: Upgrading Infusion to the version that has the media panel.
  FLUID-4570: Fixed maximize button in Chrome, Firefox and Safari. Commented on the code which must be moved away from the fullscreen function.
  FLUID-4610: Fixed the issue that closing the transcript leaves a grey background behind.
  FLUID-4570: An attempt to make a full screen video using webkit.
  FLUID-4610: Converted the caption json files to transcript json files.
  FLUID-4619: Removed fl-videoPlayer-captionArea-up
  FLUID-4619: Removing commented out code from videoPlayer.css and videoPlayer.js files. Fixing styling of the transcript area by removing its horizontal scroll and fixing its height.
  FLUID-4619: Changing captionator's dynamic styling, changing videoPlayer HTML markup and CSS so that caption div and controller div is in the same container. Hence, captions slides up and down automatically when controller bar hides/shows/
  FLUID-4616: French translations corrected by Charly Molter. Alex - regenerated vtt files.
  FLUID-4596: Rough workaround for line spacing unresponsiveness.
  FLUID-4616: French translations corrected by Charly Molter.
  FLUID-4610: Make transcript elements clickable.
  FLUID-4619: Better placement of the captions when the controllers hide and show.
  FLUID-4610: Synchronized the "show/hide transcript" action btw button popup menu and transcript area close button. Also fixed the bug at synchronizing selected transcript language.
  FLUID-4596: Prevents propagation and the default action on all toggle button-related clicks.
  FLUID-4596: Moved time display into the scrubber handle. Gradient for scrubber range.
  FLUID-4596: Implemented Joanna's hifi button graphics. Other changes included:  * Temporarily made buttons a fixed size--will make them responsive in the next few commits  * Add the jQuery UI lightness style to Mammals demo until we can put in a proper theme  * Proper hover styling for all buttons, including the nice inner glow
  FLUID-4619: Made the controllers show on focus and on mouse enter.
  FLUID-4619: Experimental code with hiding/showing controls
  FLUID-4610: Removed the line-height from the transcript DIV styling so that the UIO line spacing setting can be applied onto this DIV.
  FLUID-4610: Synchronized the transcript language selections btw the button popup menu and drop down list box.
  FLUID-4618: Fixed html5Captionator tests as well as fixed html5Captionator in order to use proper selectors.
  FLUID-4596: Inner glow for the controls area.
  FLUID-4596: More small CSS tweaks:  * Removed unncessary z-indices from the volume slider and controls area  * Pushed the scrubber directly against the control buttons  * Corrected borders for the scrubber
  FLUID-4610: Implemented the auto-scrolling of the transcript DIV onto the highlighted element.
  FLUID-4596: Fixed html5Captionator tests since we changed the container which captionator takes.
  FLUID-4610: Fixed the unit tests as well as transcript styling change and little fixes. The tests still fail in IE8 (and believe other non-html5 browsers) due to the inclusion of html5Captionator component.
  FLUID-4596: Adding comments.
  FLUID-4596: Showing captions on top of the scrubber bar. Placed captions into a caption DIV.
  FLUID-4608-merge:  Fixing up tests, still need to wait for the transcript fix to make them work.
  FLUID-4596: More small tweaks to the scrubber and button styling. Changes include:  * range highlighting for the scrubber  * removal of rounded corners for the scrubber and volume control wells  * removal of scrubber handle (in preparation for a nice new one)  * correct positioning of the volume slider above the volume button
  FLUID-4596: A tiny step towards the buttons matching the hifi mockups.  * Buttons are now positioned on the right and left of the toolbar.  * The whole control panel now floats above the video.  * The scrub bar stretches (almost) the whole width of the screen  * Bug: the controls area covers over captionator's captions.
  FLUID-4610: Recovered "Mammals.js", fixed the Mammal demo styling issue in a tacky way, which needs a better solution, modified the caption json files into transcript files.
  FLUID-4610: Auto scroll transcript div to the highlighted element. More polish-up is needed.
  FLUID-4610: Highlight the transcript element that's currently playing.
  FLUID-4610: Removed the inclusion of the unminified infusion lib from the videoPlayer.html.
  FLUID-4610: More merge-in from "michelle/demo" and a bit of language adjustment.
  FLUID-4613: Now caption area does not take 100% width space of the video. Now caption cue have width equal to the width required for the caption text to show up. Fixed issue by captionator hack to solve the issue when the last caption line got cut after UIO modifications.
  FLUID-4616: Added french captions in .vtt and .json formats
  FLUID-4613: Quick change to the captions of the videoPlayer to be responsive to UIO. Hacked captionator to remove a dynamic css styling and line-height from the cue creation section. Also removed License and fixed a link in a Readme files of the captionator lib we are using.
  FLUID-4610: Display the load-in transcripts.
  FLUID-4608-merge: Fixed some filenames since they were not capitalized
  FLUID-4608-merge: Added README and LICENSE files for the Captionator.js
  FLUID-4608-merge: Fixed inArray conditions for html5Captionator
  FLUID-4610: Load and parse the transcript file.
  FLUID-4608-merge: Fixed lower case file name issue. Added missing VTT files.
  FLUID-4608-merge: A fix for html5Captionator. Now captions should rerender properly after video-resize as well as showing/hiding UIO options.
  FLUID-4608-merge: First attempt to fix a mammal page
  FLUID-4608-merge: Fixed controllers part to work with a new model.
  FLUID-4608-merge: fixing my html5Captionator issues since it was listening to the wrong elPaths in the model.
  FLUID-4608: Added some comments
  FLUID-4608: Tests updated and passing
  FLUID-4610: Fixed the template.
  FLUID-4608: More tests
  FLUID-4608: More test for language controls with new model
  FLUID-4554: Fixing model of html5Captionator and applier in it
  FLUID-4610: Added images and transcript json files for transcript work.
  FLUID-4610: Half-completed transcript UI.
  FLUID-4608: More test for language controls
  FLUID-4608: First tests for language controls with new model
  FLUID-4554: Redesign of the videoPlayer to work with new model. Caption controls do not work. Need code cleaning.
  FLUID-4608: Revise languageMenu to new model style; update tests.
  FLUID-4554: First modifications to html5Captionator code to comply with the new videoPlayer options redesign
  FLUID-4589: Add button to exclusions list
  FLUID-4589: Fix failing tests.
  FLUID-4589: Remove hard-coded path to show/hide flag
  FLUID:4589: First stage of restoring the 'displayCaptions' flag
  FLUID-4608: Beginning to restructure controllers to use new model structure.
  FLUID-4589: Remove 'fl-theme' from the html
  FLUID-4589: Removing 'fl-theme' from stylesheet.
  FLUID-4589: Fix to correctly upate 'pressed' state of captions button
  FLUID-4589: Place a button inside the anchor, for visual styling (FLUID-4606)
  FLUID-4589: Use anchor for captions button, to support blur
  FLUID-4589: Code clean-up
  FLUID-4589: Clean up event binding between button and menu
  FLUID-4589: Comments and some renaming, for improved clarity
  FLUID-4589: Fix to ensure languageMenu will work with multiple instances.
  FLUID-4589: Separate the 'none' option from the list of languages
  FLUID-4589: Code clean-up
  FLUID-4589: Add styles for menu; place focus on button when menu hidden through language activation.
  FLUID-4589: Return focus to language button when down-arrow hides menu
  FLUID-4589: Clean up unused code; properly set languageControls button selector.
  FLUID-4589: Beginning to integrate keyboard controls
  FLUID-4589: Hide captions when 'none' selected.
  FLUID-4589: Beginning to integrate new languageControls into player.
  FLUID-4589: Refactor tests to remove duplication, separate customizations from defaults.
  FLUID_4589: Expand caption model to include labels, src... Move updating into public function; Update "off" label.
  FLUID-4554: Removed unused files and statements as well as CSS. Fixed time update event after talking to Cindy. Addressed pull request comments.
  FLUID-4589: Hide menu on DOWN at bottom.
  FLUID-4589: Add support for initial caption selection
  FLUID-4589: Clean up code, remove unnecessary state from model
  FLUID-4589: Temporary commit
  FLUID-4589: First sketch of language menu subcomponent
  FLUID-4554: Removed browser detection from html5Captioner
  FLUID-4554: Changed code to reflect pull request changes. html5Captionator is created only if HTML5 detected. Multiple code optimizations.
  FLUID-4554: Few more optimizations.
  FLUID-4554: A small conflict resolving after a rebase
  #FLUID-4554: Refactored tests to be smaller and more optimized. Refactored and optimized the main captionator code to be more compact.
  #FLUID-4554: Wrote tests. Added some fail checks if no tracks are present in the model or currentTrack is missing. Few more modifications.
  #FLUID-4554: Cleaned up tests and had to merge with upstream to make my tests to work.
  #FLUID-4554: Fixed CSS of the captions being on top of videoPlayer UI controllers. Added a block for videoPlayer to avoid modification of the html dom for captionator in case if browser is non HTML5. Added test files which should be extended further.
  FLUID-4554: Cleaned up the code by removing old files. Cindy came up with a great idea of how to fix captionator's big sizes when it is initialized. All code is done, next step is tests.
  #FLUID-4554: ALex and Cindy, paired up and made captionator to work as an infusion component part of the videoPlayer. TODO: fix captionator size by default. Remove old unused captionner files from videoPlayer.
  #FLUID-4554: Extended html5Captionator with functions. Changed currentTrack to currentTracks since we can have multiple active languages showed.
  FLUID-4554: Fully converted 2 JSON caption files into WEBVTT format so that we have full tracks. Added a french track through the captions option in the demo. Also fixed the bug with html5Captionator since it would treat multiple track tags as only one before.
  FLUID-4554: The first working draft of captionator integration.
FLUID-4807: File renaming and cleanup to ensure tests run when served from build server
Merge remote-tracking branch 'acheetham/FLUID-4807'

* acheetham/FLUID-4807:
  FLUID-4807: File renaming and cleanup to ensure tests run when served from build server
Merge branch 'master' into FLUID-4775
FLUID-4775: Final fixes to bring Cindy's 4665 branch up to current master