Use the default dispatcher where possible for nested message loops.

Notable changes:
 * Add QuitNestedMessageLoop() to client::DispatcherClient, which can be used to
   terminate a nested loop started by RunWithDispatcher().
 * FirstRunDialog is no longer a MessagePumpDispatcher. The default dispatcher
   is used instead, and QuitNestedMessageLoop() is called to terminate the loop
   instead of returning POST_DISPATCH_QUIT_LOOP from the Dispatch() override.

This change was previously committed in r253723 and r254089, but reverted in
r253744 and r254095 because some interactive_ui_tests on windows bots failed on
SimpleMessageBoxViews related change. So this CL aims to reland that CL without
the change in SimpleMessageBoxViews for now.

BUG=342338
R=sky@chromium.org

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@256093 0039d316-1c4b-4281-b951-d872f2087c98
SVN changes up to revision 256093
[Wallpaper Picker] Used resizable app window property

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

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