Extensions: Send the tab id to platform apps.

This lets mediaGalleries.addUserSelectedFolder() figure out the tab
that triggered the API, so it can display the select dialog in the tab
when the platform app has no open windows.

BUG=333899

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@249322 0039d316-1c4b-4281-b951-d872f2087c98
[FileAPI] Don't fail on ReserveQuota() even on insufficient space

Return maximum available quota when there isn't sufficient available space
 to satisfy the requested amount of quota reservation.

BUG=340703

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@249323 0039d316-1c4b-4281-b951-d872f2087c98
SVN changes up to revision 249323
Add ApiActivityMonitor to decouple ActivityLog from low-level extensions code

* Introduce ApiActivityMonitor interface and make ActivityLog implement it
* Use it to replace EventRouter's one-off EventDispatchObserver, which was
  kind of ugly.
* Use it for function call notifications from ExtensionFunctionDispatcher

This allows app_shell to use ExtensionFunctionDispatcher without an
ActivityLog and gets us another step closer to moving EFD into src/extensions.

BUG=332986,339595
TEST=browser_tests Extension*

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

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