1. The viewModel knockout property, `uiShow`, was returning `this.dynamicObject.uiShow` in its getter.  While logically, this is correct; it does not work as expected with Knockout, which requires that the getter/setter of a computed observable use an underlying observable (i.e. in this case, `this._uiShow`) in order to trigger re-evaluation.
2. The data-binding for the tree items caused several overlaying click/checked events to be triggered on top of each other.  This was causing both unexpected behaviour and some usability issues.  For example, toggling a checkbox on/off to quickly caused a double click event which would trigger unintended object tracking.  This was fixed by being more specific about which controls we were binding to.
3. Change DataSourceBrowser Knockout properties to use `this` instead of `that`, which was unneeded.
4. Double-click on an item in the tree was triggering text selection, so I disabled selection for now.
5. The tree is not expanded by default, though we should probably make this an option in the datasource/objects themselves.  That means ultimately uiShow will probably become a "show" property under a "ui" object that has several things in it.
6. Make balloon/tracking behaviour only function when an item is actually visible (i.e. uiShow is checked).