properly handle StackLayout size_hint and spacing