Revert "Revert "Stash code attempting to further modularize TreeView subclasses.""

This reverts commit b7cabb99d165d71cebec9b2c993299bb34d308bb.
Change back to using node and link functions rather than calling StructView's prototype functions.