Enhancements to the switch directive

I stumbled upon some complications using the switch directive as it is described in the documentation (`<switch ng-model="invoice.paid"></switch>`). Changes to the ngModel aren't reflected in the _parent_ scope, if the ngClick-attribute isn't specified. So manually applying the ngModel-changes via `scope.$apply` did solve this issue in my case.
Additionally external changes to the linked ngModel (e.g. through a additional checkbox) aren't handled by the directive. By linking the ngModel directly via ngClass the style and the ngModel's value stay in sync.