BLD-1230: Video Link Obfuscation

A contextual menu has been added to non-YouTube videos.

**Ticket: [BLD-1230](https://openedx.atlassian.net/browse/BLD-1230)**

**Acceptance criteria:**
When a student right-clicks on a video, they are not presented with any of the following options:
 * Save video as
 * Copy Video URL
 * Copy Video Address
 * Open video in New Tab
 * Open Video in New Window
 * Save Snapshot As….
 * Email Video
 * Copy Video Location
 * View Video
 * Download Video
 * Download Video As

When a student right-clicks on a non-YouTube video, they are instead presented with options for controlling the video including:
 * Play (Pause)
 * Mute (Unmute)
 * Fill browser (Exit full browser) --> Only in LMS not Studio.
 * Speed (with a sub-menu populated with the default speed options of the browser i.e. 0.75x, 1.0x, 1.25x, 1.50x)

**Sandbox: studio.jmclaus.m.sandbox.edx.org**
[Direct link to example] (http://studio.jmclaus.m.sandbox.edx.org/container/i4x://edX/BLD1230/vertical/a5b2494e91584fabb43223cb0ec6ec62)

Or use the following mp4 [video] (http://vjs.zencdn.net/v/oceans.mp4) to test the contextual menu in your own course.

**@Lyla-Fischer @explorerleslie** Please review.
> What is this for?

We're trying refactor our modules to make them much readable, understandable and reusable. New modules use constructors and have to be instantiated with `new` keyword, old ones return functions and do not need `new` keyword to use them. 
So, during initialization we just call the functions without `new` keyword (See [here](https://github.com/edx/edx-platform/blob/anton/add-video-context-menu/common/lib/xmodule/xmodule/js/src/video/01_initialize.js#L332)). If new module is called like a simple function, in this case, `this` keyword is equal Global object and the condition above is passed. As result, the module is reinitialized with `new` keyword.
It's a way how to resolve some differences in initialization of new and old modules.