Extract re-usable InitializeMediaFoundation()

Allow media::InitializeMediaFoundation() to be used by any Media
Foundation client code.  This benefits existing Chromium code as well as any
Chromium-based browser that adds its own code calling out to Media Foundation.

There are two side effects for DXVAVideoDecodeAccelerator:

  - MFStartup() and MFShutdown() are now called once during the lifetime of the
    GPU process rather than per each accelerator instance.

  - MFStartup() is now called with the MFSTARTUP_LITE flag, which according to
    MSDN doesn't initialize the sockets library.

TEST=media_unittests

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

Cr-Commit-Position: refs/heads/master@{#331446}
7 files changed