Angular directive for recursive tree