Implement Decoration views

The logic here is largely a copy-paste of the supplementary view handling code.

Iffy things:
- The logic in -[PSTCollectionViewData validateLayoutInRect:]
  - Excluding decoration views here results in them not being considered for layout but including them essentially results in testing that the layout represents any of the valid view types
- The …ItemKey implementation for decoration views
  - The identifier/elementKind value appears to be being ignored somewhere, resulting in one of the layouts "winning" - I've worked around this by using unique indexPaths for my decoration views
  - I made a cursory attempt at tracking this down but got lost in the code
- The NIB loading code is untested as I create my views programmatically