Resubmit: Adding support for Widevine (merged changes by @colde)

* Adding Widevine support.
* Extending PlayReady support with optional CustomData.
* Adding option to override protectionData (including laUrl, cdmData &
license request headers) when instantiating the player.
* Moved parsing of CDM message into respective DRM license acquirers.
Which browser/version provides a "SetMediaKeys" API?  "setMediaKeys" is the only one that ever appeared in the specs.  For browsers that use prefixes, I understand the use of the "S" to maintain camel case, but this one just seems weird.