Lightweight treeview web component with hierarchical data display, search, drag-drop, selection, templates, and context menus