Move BrowserPluginDelegate's lifetime mgmt out of content/

This CL makes BrowserPlugin not own BPDelegate (GuestViewContainer)
  anymore.
BrowserPluginDelegate's lifetime has been tied to garbage collection
  of the shadow root HTML element that contains the plugin. For
  example, for <webview>, this is the <webview> element.
Before registering BPDelegate to GC, there's a brief period while
  BPDelegate is not owned by anyone directly, this case is covered
  with the static PostTask that deletes the delegate if we did not
  tie it to GC (UpdateInternalInstanceIdAndBindDelegateToGC()).

To make <webview> run without BrowserPlugin, we need to manage
  GuestViewContainer's (which is a BPDelegate) lifetime out of
  content/.

BUG=330264
Test=None, internal change only.

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

Cr-Commit-Position: refs/heads/master@{#333552}
14 files changed