Watcher improvements
Now uses GTree instead of GPtrArray making things somewhat less exponential so we can now nicely handle lots of terminals
When running in the background watcher runs at a lower frequency than when a window if focused, unfocused windows now send a notification when a child completes
Combined performance boost and slower cycles mean KGX should now idle at 0-1% cpu when in the background
Data from the watcher is now used to provide a "Are you sure" dialog when closing a terminal with active children