Compact completion popup window, with a custom container

Custom container for the sizing of the GtkTreeView containing the completion
proposals. When the GtkTreeView exceeds a certain size, the container adds
the GtkTreeView inside a scrolled window. When the GtkTreeView is small
enough, no scrolled window is needed, and the container fits the natural size
of the GtkTreeView.

If the tree view is always in the scrolled window, there are sometimes some
sizing issues.

The purpose is to have a compact completion window, with a certain size
limit.