Tree improvements

fixes #141.

This has lots of improvements for the Tree views

Perf
+ start buffering batch changes to a view
+ start debouncing other things
+ stop re-rendering trees when toggling collapse state

Refactor:
+ Create activityTree class
+ move commands to ActivityNode for build and update

@ianmstewart i think you're going to like this patch :smile_cat: 
your work w/ trees is rock solid.
I would love some code comments here because it's not obvious what's going on. ;)