change box-pack API, separate fill+expand
re-allocate canvas when UI resizes itself
allow to change spinbutton range