improved shifting of widgets to spread in gaps

See: https://github.com/GigaOM/gigaom/issues/5394