Reusable AngularJS checkbox list widget directive