Refactor LauncherItemController and LauncherItemDelegate

* Remove LauncherItem parameter of LauncherItemDelegate method
* LauncherItemController subclasses LauncherItemDelegate
* Register/Unregister when LauncherItemDelegate is created/removed
* LauncherItemDelegateManager handles LauncherItemDelegate by LauncherID
* LauncherItemDelegateManager take ownership of all LauncherItemDelegate

R=sky@chromium.org, skuhne@chromium.org
BUG=279105
TEST=unit_tests, browser_tests, ash_unittests, ash_shell

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

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