GTK: cache the completion popup window

This avoids creating and destroying windows quickly under stress, which
may lead to XID collisions.

See e.g. https://bugzilla.gnome.org/show_bug.cgi?id=581526 and
https://bugzilla.gnome.org/show_bug.cgi?id=590690

Closes [scintilla:bugs:1649].
GTK: fix cached completion popup window sizing

Only cache the popup window itself and not its content, as it seems the
window sizing is affected whether the content was just created or not.
Merge branch 'scintilla/gtk3-dead-windows'

Backport patches applied upstream to cache auto-completion windows,
hopefully avoiding dead popup windows lying around on GTK3 builds in
some high stress scenarios.
GTK: Fix auto-completion popup height to better fit contents
GTK: Fix auto-completion popup width to better fit contents
GTK: Allow the auto-completion popup to be as small as needed
GTK: Fix auto-completion popup sizing on some themes
Merge branch 'scintilla/gtk3-dead-windows'

Backport patches applied upstream to cache auto-completion windows,
hopefully avoiding dead popup windows lying around on GTK3 builds in
some high stress scenarios.
Merge branch 'scintilla/autoc-sizing'

Backport changes applied upstream to fix auto-completion popup sizing.