treeview.js: initial commit