Fix up docs for new cursor apis

The docs for gdk_cursor_new_from_surface were talking about
pixbufs. And the new APIs were not appearing in the docs
at all yet.
Try Wayland before X11

When both the Wayland and the X11 backends are built, prefer
Wayland over X11 in the absence of other information.

https://bugzilla.gnome.org/show_bug.cgi?id=705498
Build Wayland backend by default

Unless an explicit backend is enabled via configure option, build
both the X11 and Wayland backends.

https://bugzilla.gnome.org/show_bug.cgi?id=705498
Update Arabic translations
Bug 701571 NSApp doesn't notice NSWindow destruction

Part 1 of the fix; part 2 awaits Glib developer approval (see
https://bugzilla.gnome.org/show_bug.cgi?id=704374) and is more
correctly associated with
https://bugzilla.gnome.org/show_bug.cgi?id=674108
Implement gdk_display_get_cursor_for_surface in quartz

Left out of b2113b7, breaking quartz build
Fix a crash with scaled cursors on Wayland

We need to initialize cursor->surface.scale to 1, since we
are dividing by it in _gdk_wayland_cursor_get_buffer.
GtkIMModule: Use default screen when determining context id

This code is called early on, without a window, and then later on
with a window. Currently, it returns different results for these
cases when the setting contains a value. That leads to pointless
construction and destruction of im contexts. Instead, just look
at the settings of the default screen. In practice, there is only
one screen, ever.
Deal with platform-specific im modules

With multiple GDK backends in the process, we run into problems where
we try to use the Wayland im module on X, which crashes. This commit
adds a quick backend filter that removes the wayland, xim and ime
input methods from consideration  unless the corresponding GDK backend
is in use.