Reset cursor when mouse leaves a toplevel window.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=692548
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
Bug 705181 Annoying beep on arrow keys

Original patch was a bit excessive, just needed to not forward the command.
win32: avoid assertion when creating a GdkPixmap fails

If gdk_pixmap_new() fails (e.g. CreateDIBSection() failure) we end up
g_object_unref()-ing the temporary GdkPixmap, and we do this before having set
the drawable_impl->hdc and drawable_impl->hdc_count. Now, this could have just
been a couple of warnings being dumped, but instead it really crashes the
application because in win32-specific GdkDrawable's finalize() we assert if
drawable_impl->hdc_count is not zero:

Gdk:ERROR:gdkdrawable-win32.c:2047:_gdk_win32_drawable_finish: assertion failed: (impl->hdc_count == 0)

In order to avoid this crash, we make sure we don't decrement the hdc_count in
the GdkPixmap's finalize() unless we have it set first (i.e. we avoid hdc_count
going down to -1).

https://bugzilla.gnome.org/show_bug.cgi?id=699236
Merge branch 'gtk-2-24' of git://git.gnome.org/gtk+ into gtk-2-24