Split ExtensionWebContentsObserver into base and Chrome implementations
This allows app_shell to use a simplified ExtensionWebContentsObserver while
Chrome maintains its more complex version.
* Move ExtensionWebContentsObserver to src/extensions
* Introduce ChromeExtensionWebContentsObserver
* Delegate out observer creation from ExtensionHost
Removing this dependency on Chrome will allow ExtensionHost to move into
src/extensions and break another app_shell -> Chrome dependency.
BUG=321341
TEST=browser_tests ErrorConsole* and Extension*
TBR=stevenjb@chromium.org for mechanical changes to chrome/browser/chromeos
TBR=msw@chromium.org for mechanical changes to chrome/browser/ui
Review URL: https://codereview.chromium.org/205243004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@258372 0039d316-1c4b-4281-b951-d872f2087c98