Update app and design

Better separation of concerns with tree model, node model and DOM
specific implementation. Updated many details in design.