Use mutation observers to keep up with changes to the original element.

Adds in support for ng-show, ng-disabled, ng-invalid and perhaps others.

Close #51
Close #72