fix(ng-class): Use NodeAttrs instead of DMOs.
feat(tests): Tests are synchronous by default.

Any test not marked as 'async' will fail if it calls runAsync.
Also:
 -> added a noMoreAsync() call which, in an async test, will cause
    any future runAsync calls to fail

 -> async() now happily runs dangling runAsync() calls.

Closes #81
chore(ng-events): refactor into single class