Added Application() object and library.

The WatcherPool doesn't require the Queue anymore.

Made the Queue actually store changes happened.

WatcherPool's add_watcher() can now process more watchers with only
one call.