AngularJS composite directive