refactor UITableView extensions
refactor UICollectionView extensions

- There's still too much repeated code here.
re-refactor UIKit extensions into PTLDatasource categories

- Necessary overrides for classes that forward, like PTLCompositeDatasource, are done via swizzling.
- Added PTLSwizzle category to NSObject based on stripped down JRSwizzle.
add headers and multiple sections to colors demo