Support extra InitParams in chrome::ShowWebDialog and fix AlwaysOnTop

Chrome should not specify the kShellWindowId_AlwaysOnTopContainer,
instead it should set InitParams.keep_on_top. Ash will then put the
widget in the correct container and set kAlwaysOnTop correctly
(expected by TabletModeWindowManager and potentially other code).

Additionally, on Chrome OS, unparented dialogs should be associated
with the user that opened the dialog so that the dialogs do not appear
when switching user. (MultiUserWindowManagerClient::SetWindowOwner).

This CL also cleans up some remaining calls to
chrome::ShowWebDialogInContainer, instead setting the container id
in chrome::ShowWebDialog for system modal dialogs only.

Bug: 888711
Change-Id: I3ca16d3094ec632c834eec27ce4e9545c38b9308
Reviewed-on: https://chromium-review.googlesource.com/c/1367086
Reviewed-by: Scott Violet <sky@chromium.org>
Reviewed-by: Yue Li <updowndota@chromium.org>
Reviewed-by: Xiyuan Xia <xiyuan@chromium.org>
Reviewed-by: James Cook <jamescook@chromium.org>
Reviewed-by: Ryan Hansberry <hansberry@chromium.org>
Reviewed-by: Mitsuru Oshima (gardener - slow) <oshima@chromium.org>
Commit-Queue: Steven Bennetts <stevenjb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#615944}
14 files changed