Audio player: fixed another usage of currentTime without
proper check of readyState (during stop).
Large cleanup of the treeview / load logic:

* The tree view DOM was unnecessarily recreated during load. The
  code has been refactored to first construct the UI recursively
  only once per (shown) node-

* Behavior updated to expand the parent node automatically as
  selection changes to keep the current node visible in the tree.

* Redundancy removed: The node open state was stored both as
  Graph.open (which was persisted) and TreeNode.closed (sigh,
  which wasn't). This has been refactored so only Graph.open
  is used.

* Fixed a couple of possible crash-bugs.