Use the changes API to update the collection view.

The API itself is so far very very simple and incompletely implemented,
but it does have the benefit of working.
Initial scaffolding for processing updates.
I don't know how animations are going to work in here, but it's going to be a mess.
Merge branch 'develop' into numist/non-retarded-collection-view
Merge branch 'develop' into numist/non-retarded-collection-view
Dispatch NNApplication background tasks to a background queue instead of a default queue.
Dispatch NNWindow background tasks to a background queue instead of a default queue.
No need for a locking queue for single-recursion execution.

First iteration should be normal priority, subsequent iterations can be
background priority.
Return a valid array object even if _windows is empty.

Thanks to @mattt for this trick.
Dispatch subsequent recursions of NNWindowWorker's worker loop to a background queue.
More feedback with animations.
Minor copy editing.
Fire a breakpoint if CGEventTapCreate fails, because we're probably not root.

Issue tracked by #7.
You need Admin/Accessibility for Switch to work, but it'll gently remind you.
Remove/restrict old imports.
Merge branch 'develop' into numist/non-retarded-collection-view
RACify window content updates in the thumbnail view.
Ignore .xccheckout files.
Use @strongify and @weakify more broadly.
More careful memory management wrt RAC