add support for _GTK_FRAME_EXTENTS

Support for _GTK_FRAME_EXTENTS are based on mutter.

Based on metacity commit: e132e2a700c4b50c93eae064d8fd1769b67baf06
By: Alberts Muktupāvels <alberts.muktupavels@gmail.com>
Fix identification of CSD windows when checking whether to force fullscreen

We try to exempt CSD windows from being forced fullscreen if they are
undecorated and the size of the screen; however, we also catch almost
all windows that *do* need to be forced fullscreen in this check, since
they also have decorations turned off.

Identify actual CSD windows by checking whether _GTK_FRAME_EXTENTS is set -
GTK+ will always set this on CSD windows even if they have no invisible
borders or shadows at the current time.

Based on metacity commit: 41dd72bc5dd08d7d0cb136f694a6d9a30e38b341
From: Owen W. Taylor <otaylor@fishsoup.net>

Metacity gnome bug: https://bugzilla.gnome.org/show_bug.cgi?id=723029
don't show shadow for maximized windows

based on metacity commit: 72d1c6a6b9a85391444bb5ff8c5de1e3aabd3fd9
From: Alberts Muktupāvels <alberts.muktupavels@gmail.com>
themewidget: remove, it is unused

Based on metacity commit: 202a3712a97c2df6f0410050835898795f75a1b6
From: Alberts Muktupāvels <alberts.muktupavels@gmail.com>
Remove deprecated glib thread api calls.

Also bump minimum required glib version to 2.32.
Properly ifdef some KXB code.

Taken out of metacity commit: 238e83a98cf014c9b1082d21541e63f102d441d6
From: Alberts Muktupāvels <alberts.muktupavels@gmail.com>
Replace in GTK3 deprecated Gdk api

Taken from metacity commit: 238e83a98cf014c9b1082d21541e63f102d441d6
From: Alberts Muktupāvels <alberts.muktupavels@gmail.com>
GDK_KEY_* is also available in Gtk+-2.
Remove some dead code
Fix the resizing of CSD windows
use force_save_user_rect=TRUE for maximized windows too

Force to save user rect for maximized windows too, otherwise when
launching maximized application on non left monitor it will be moved
to left monitor.
Ubuntu bug: https://bugs.launchpad.net/ubuntu/+source/metacity/+bug/727928

Based on metacity commit: fbfcbc5e35e35063c8ff71b399a0bf72a31852e7
From: Alberts Muktupāvels <alberts.muktupavels@gmail.com>
frames.c: don't try to remove source that does not exist

Based on metacity commit: 5ae71b165df2fbaae933de41db11726a79aea820
From: Alberts Muktupāvels <alberts.muktupavels@gmail.com>
Fix new window focus

Based on metacity commit: cd481d37ec2551e98db758ff640d02f3745259db
From: Alberts Muktupāvels <alberts.muktupavels@gmail.com>
Gnome bug: https://bugzilla.gnome.org/show_bug.cgi?id=534752
Update meta_show_dialog for gtk's removal of --screen

gtk3 no longer has the --screen command-line argument, which
metacity was passing to zenity. Use --display (with an
explicitly-specified screen number) instead.
Author: Dan Winship
Bug: https://bugzilla.gnome.org/show_bug.cgi?id=687938

Based on metacity commit: 8d19afdcccaec28a5512b0a707d8238b9dd4e2f3
Add error handling to glibtop_get_proc_uid

Author: Tomaž Šolc
Based on commit: 4ecd6e49164ee027cee8dfdbb51fd8389694ff43
Gnome bug: https://bugzilla.gnome.org/show_bug.cgi?id=603240
keybindings.c: fix deprecated warning

Based on metacity commit: 8f49828169efb43976e23dd15c6dc4d630346f50