ui: Fix another wraparound bug in Skyline

The right way is to perform wraparound for every quad, not just in case we fail to do a normal layout.
This solves a case where one skyline edge stops exactly at the bottom of the atlas so we can continue it to the other side without triggering wrap logic - but since we can’t allocate using other edges the layout becomes very inefficient.
ui: Refactor LayoutShelf and LayoutSkyline