window: Add a property for on_all_workspaces

Some plugins and extensions want to be able to know when the sticky
field of a window changes, so add a property for it and allow them
to connect to the notify::on-all-workspaces signal.
window: Use g_object_class_install_properties
window: Use g_object_notify_by_pspec
wayland-pointer: fix condition for grabbing

It returns FALSE when button_count is not 0. But grabbing for
move/resize is activated by clicking the button, so this condition
disallows the wayland clients to be moved/resized.

https://bugzilla.gnome.org/show_bug.cgi?id=731237
wayland window: update buffer_rect when moving

Update both - rect and buffer_rect positions when moving wayland window

https://bugzilla.gnome.org/show_bug.cgi?id=731237
build: link against libinput explicitly

We use its symbol, we should link against it - or strict linkers
like gold complain.
main: kill custom log handler

It just gets in the way of gnome-shell's log handler (which
includes gjs backtraces optionally), it requires people to understand
what 8 or 16 mean as log levels, and it loses the log domain.
window: Set custom frame extents to 0 if we don't have any

This is just a quick code cleanup.
window-wayland: Correct the buffer rect for frame extents
Add ::first-frame signal to MetaWindowActor

This signal is emitted the first time a frame of contents of the
window is completed by the application and has been drawn on the
screen. This is meant to be used for performance measurement of
application startup.

https://bugzilla.gnome.org/show_bug.cgi?id=732343
meta_accelerator_parse(): handle keysyms without the XF86 prefix

The GDK and hence GNOME standard is that keys that begin with XF86 according to
libxkbcommon not prefixed with XF86, though gdk_keyval_from_name() strips XF86
if provided. If libxkbcommon doesn't recognize the accelerator name without
XF86, try again adding XF86 to the start.

This restores compatibility with gnome-settings-daemon, schemas, and existing
user configuration.

https://bugzilla.gnome.org/show_bug.cgi?id=727993
window: Fix get_client_area_rect for the frame rect conversion

Specifically for CSD windows -- this was just absolutely wrong
before. This fixes weird painting and clipping artifacts for
CSD windows.
window-x11: Fizzle out changes to the three different regions

GTK+ likes to set these, well, _NET_WM_OPAQUE_REGION in particular, to
the same value. Save some expensive and processing when this happens. We
should probably make GTK+ smarter.
screen: Set a black background for testing purposes
screen: Fix up last commit

Forgot to squash after building.
Switch to using ClutterStage::after-paint

The experimental API clutter_stage_set_paint_callback() is replaced
with an ::after-paint signal as of Clutter 1.19.5.
window-wayland: Make sure the size of the buffer rect is kept up to date

When we changed the setting of the buffer rect to be inside the moving
code to make sure it was updated in places we were moving directly
without any round-trip needed, I removed a code to set the buffer rect
without remembering that's where the size of it was updated.

Add back the code to update the buffer rect.

This fixes Wayland windows not appearing.
monitor-manager: Remove duplicate variable definition
monitor-manager: Rename output_id to output_index

The term "output_id" is already used as an opaque ID.
window: Don't treat an output_id of 0 as an invalid ID