Implemented ash::ShellObserver::OnFullscreenStateChanged to trigger hiding / restoring all visible docked windows only once. This also takes care of the immersive fullscreen that was not handled properly before (the docked windows were not properly hidden).

BUG=297975
TEST=visual - follow the bug repro steps

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

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