AngularJS directive to create recursive markup