[MSS] Widevine pssh generation
Created by: bbert
This goal of this PR is to synthesize the Widevine pssh for MSS+PR streams on-the-fly with KID value extracted from PlayReady manifest's ProtectionHeader field.
With the help of this PR, this is no more required to provide pssh as an input parameter in protectionData.
The source code to build the Widevine pssh according to Google Protocol Buffer has been generated using the protobuf.js project (https://github.com/dcodeIO/ProtoBuf.js).
The source for manipulating/generating Widevine pssh has been introduced only in MSS package, to avoid increasing the build/minified file size of dash.js (dash.all). Only the MSS package (dash.mss) is increased about around 18kB (due to protobufjs package dependency).
If afterwards there is some need for adding the option to override some field values of original pssh for any stream, we could then integrate this protobufjs library into protection package. This could be generalized for all key systems.