Custom UICollectionViewLayout for layout with horizontal scrolling, fixed cell height and variable cell width. Supports raggy style for the first (top) and the last (bottom) rows