update BoxWidgetItem sizing initialization

This fixes a couple layout quirks when widgets are added at runtime when
the box widget is already mounted. It a) ensures the new item sizes are
distributed fairly, and b) ensures that sizes do not jitter unless
necessary when child geometries change.
update layout item initialization

this fixes a couple bugs where cached item sizes were not invalidated
properly when a child is added to an attached splitter at runtime.