Function-type templated CallbackRegistry

BUG=268984
R=ajwong@chromium.org, erikwright@chromium.org, jam@chromium.org

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

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