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
Bug 705182 Reset Cocoa IME state when immodule is reset

Commits the pre-edit string on receipt of focus_out and reset
commands.
Patch refinements by Cody Russell <bratsche@gnome.org> and
Ek Kato <ek.kato@gmail.com>
Fix a crasher that was introduced by 9ca802161ec6387419d160f21fe477008a567477
due to preedit_str being initialized as an empty string rather than NULL.
Bug 705750 Quartz input method doesn't work correctly for Chinese characters
combobox: Add missing Since tags for entry constructors