Re-land "Handle custom/bitmap cursors in ws2."

This re-lands commit a6dc11ea630378ea89ca4f587
which was reverted for leaking (caught by lsan bot).
Fix: unref custom cursors created in CursorData::ToNativeCursor

Go through CursorFactoryOzone to load the PlatformCursor (which
confusingly could be CursorData, but for now is X11CursorOzone). Also
set fields on the cross-platform Cursor type so that code which relies
on it such as CursorWindowController::UpdateCursorImage will work.
That code path can be exercised with --ash-enable-cursor-motion-blur
although there is currently no use of custom cursors with ws2.

TBR=sky@chromium.org, tsepez@chromium.org

Change-Id: I1d6324a6049d83850185171a42c164f7679f5a5e
Reviewed-on: https://chromium-review.googlesource.com/1120860
Commit-Queue: Evan Stade <estade@chromium.org>
Reviewed-by: Evan Stade <estade@chromium.org>
Reviewed-by: Sadrul Chowdhury <sadrul@chromium.org>
Cr-Commit-Position: refs/heads/master@{#575720}
8 files changed