DesktopNativeCursorManager currently only has 
knowledge of a single RootWindow, which means 
that it is possible for a change in cursor state 
within one RootWindow to cause another RootWindow 
to have a stale cursor state. This CL makes changes
in cursor state global among all root windows
by doing the following:

- Make CursorManager and DesktopNativeCursorManager 
static members of DesktopNativeWidgetAura.
- Maintain a set of root windows in
DesktopNativeCursorManager. 
- When a native widget is initialized, add its 
owned root window to this set. When a native 
widget is destroyed, remove its owned root window 
from this set.
- Whenever a call to the public CursorClient API
causes a change in cursor state, inform all root
windows in this set.

This change makes cursor management for desktop
Aura behave similar to cursor management in Ash,
where all root windows are already notified of 
cursor state changes.

BUG=324006
TEST=DesktopNativeWidgetAuraTest.GlobalCursorState

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@240827 0039d316-1c4b-4281-b951-d872f2087c98
SVN changes up to revision 240827
Revert of https://codereview.chromium.org/104403010/
Reason for revert: Possible breakage of unittest (due to a possible bad rebase)

TBR=hclam@chromium.org,hguihot@chromium.org,hguihot@google.com
NOTREECHECKS=true
NOTRY=true

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

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