AngularJS: Accordion with custom directives (restrict, replace, transclude, template, controller, angular.forEach(), scope, link)