Fix save/restore of metadata box column sizes.

In some cases, mostly after maximizing/restoring window a few times,
metadata table columns were smaller and smaller due to wrong calculations.
Also when window was resized, weird things were appearing with those columns.
This patch is handling those events much better (but still not perfect).
Horizontal scroll was changed to be per pixel instead of per column.

It tries to handle scrollbar appeareance/disappearance, maximize/minimize cycles, restart cycles, elegantly.