TabCapture: MirroringTokenBucketUsec in tracing shouldn't go negative

MirroringTokenBucketUsec shows some very negative bars that are
distracting. This change puts a floor to the value being traced.

BUG=345927

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@253508 0039d316-1c4b-4281-b951-d872f2087c98
SVN changes up to revision 253508
Change ProfileKeyedAPIFactory to build instances with BrowserContext instead of Profile.

This also updates a few call sites that were missed earlier, and it includes profile.h where it was previously gotten transitively.

Follows https://chromiumcodereview.appspot.com/166053003/ and https://chromiumcodereview.appspot.com/174513003/

BUG=309909
TBR=dtseng@chromium.org,derat@chromium.org

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

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