Add support for multiple MediaKey sessions

The draft EME spec supports multiple instances of MediaKey objects, each having 0 or more sessions (MediaKeySession). This change adds a way to uniquely identify each instance of MediaKeySession so that they can all coexist, and adds an additional callback SetSessionId() which is called whenever a new session is actually created by a CDM.

Currently there is no way to correlate a created session with the original request. Change is to add a unique reference_id for each MediaKeySession, and use that to identify the session, rather that session_id (although session_id will still be available as a property via MediaKeySession). With session_id not being passed around, the new callback SetSessionId() is used when a session ID is assigned by the CDM.

There are also changes to the way WebMediaPlayer works with prefixed EME to support the new internal interfaces.

Not done is changes to the CDMs to support the reference_id. Currently it is handled by having the CDM wrapper keep track of a reference_id -> session_id mapping.

BUG=308704
TEST=encrypted-media layout tests and browser_tests for encrypted media pass

Review URL: https://codereview.chromium.org/26687006

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@235008 0039d316-1c4b-4281-b951-d872f2087c98
[rAC, OSX] OSX rAC off by default in stable/beta

Once more, making rAC off-by-default in stable/beta channels, while
keeping it on by default in trunk/canary/dev.

BUG=318330
R=estade@chromium.org, thestig@chromium.org

Review URL: https://codereview.chromium.org/68413007

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@235009 0039d316-1c4b-4281-b951-d872f2087c98
SVN changes up to revision 235009