AngularJS tree directive with subdirective for extending node behavior