Implement Just-In-Time Flash updates.

The basic approach is that every component supplies a list of MIME types that it can handle as a plugin during registration with the component updater. If plugin content is encountered that we do not have a plugin for, the filter will ask the component updater if an implementation is available. If so, it will initiate an on-demand update for the plugin and register an observer to watch for the update completion. In the meantime, the renderer will display a plugin placeholder indicating that a download is in progress. Once/if the update is successful, the placeholder is notified and will re-evaluate the presence of a suitable plugin for the content. This second pass should catch any blocked-by-policy, power-saver, etc restrictions.

BUG=624067

Review-Url: https://codereview.chromium.org/2154773002
Cr-Commit-Position: refs/heads/master@{#409217}
32 files changed