UICollectionView subclass with pull-to-refresh, pull-to-load-more feature