My Waterfall-style implementation of UICollectionView layout