Add video upload feature to Studio

This still needs to be audited for accessibility.

Please review: @nasthagiri @andy-armstrong @frrrances @talbs 
FYI: @clrux @doctoryes @karadhya 

*JIRA Tickets:*
* https://openedx.atlassian.net/browse/MA-28
* https://openedx.atlassian.net/browse/MA-85
* https://openedx.atlassian.net/browse/MA-86

*UX Design:* https://edx-wiki.atlassian.net/wiki/display/UX/Video+Uploads+in+Studio
*Functional Spec:* https://openedx.atlassian.net/wiki/display/MA/Video+Pipeline
*Sandbox:* http://studio.video-pipeline.m.sandbox.edx.org/

Can you give more details, @gwprice? My understanding is that it is better to put the ```use strict```` here so that the checks are scoped only to the function. I would be concerned that if placed outside the define definition that it would bleed the strictness out to other files that might not want it, especially when we use RequireJS Optimizer. 

I tried a Google Search to understand what happens if you put it at the top of the file but didn't come up with anything conclusive. All of the code that I came across placed the directive inside the function.