Drag and Drop

- Added a NSCollectionView subclass to handle drag and drop.

- Added a delegate protocol to allow view controllers manage drag and
  drop.