The waterfall (i.e., Pinterest-like) layout for UICollectionView. Inspired by CHTCollectionViewWaterfallLayout, support multiple sections