WallpaperLoader should inform caller that load request is finished.

There are several problems with wallpaper loading:
1) WallpaperLoader is asynchronous, but exposes synchronous API. Therefore callers do not know when request is finished and whether it is completed or not.

2) WallpaperLoader doesn't have "rate limit" on SetWallpaper requests, therefore it is implemented outside of it (currently in JS). Taking into account the fact that caller has no way to know the result of request, this mechanism leads to stuck wallpaper, or even to blocked UI.

This CL introduces:
1) A callback is passed along with load request to WallpaperLoader to get "Finished" event.

2) Wallpaper load scheduler in WallpaperManager to "rate limit" load requests. It has automatic load delay management so that most SetUserWallpaper() requests would become immediate. But delay is automatically adjusted to the average of several last load attempts.


BUG=333809
TEST=manual

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

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