completion sizing: better implementation

On each "size-allocate" signal on the GtkTreeView, resize the scrolled
window. The functions to calculate the size is more or less the same as
the previous implementation in the custom container, but with bug fixes.

https://bugzilla.gnome.org/show_bug.cgi?id=720823
completion sizing: some tests

The scrolled window height can not be smaller than 55 pixels, so when
the tree view contains one or two rows, the scrolled window is too big.

Another bug: when the scrolled window is resized at a row boundary, we
can see a little the next row. Probably due to the vertical-separator
height (one too much).