gdkwindow: Specify some invariants for cursors

Cursors should not be on a different display than their window /
device, as that would break Wayland.
gtkwindow: Use gdk_cursor_new_for_display

Otherwise, this crashes the inspector, since it now uses multi-display
technology, and on Wayland, resources like the cursor are client-private.
GtkAboutDialog: Don't use gdk_cursor_new

gdk_cursor_new returns cursors for the default display, and
thus is not safe to use in code that may run on non-default
displays.
Deprecate gdk_cursor_new()

Too easy to introduce an unintended assumption about the display
being the default this way.
Mention the 'same display' requirement in the docs too
Don't return GDK_GRAB_SUCCESS on failure

That seems ... counterproductive.
Drop an unused variable
Add another multi-device invariant

The device and window passed to gdk_device_grab() must be
on the same display, or things are unlikely to work.
Document and assert this.
gtk-demo: Drop uses of gdk_cursor_new()

Use gdk_cursor_new_for_display() instead.