test(): configure karma with sauce labs
chore(karma): run tests on saucelabs
fix(karma): fix incorrect sauceLabs config
test(bug): remove odd EventTarget call
test(domInterceptor): update chrome test version
fix(safari): add conditional testing and implementation to support Safari

Safari does not support patching individual HTML elements or the EventTarget property. The current
listener strategy does not use patching individual HTML elements because this was deemed
unnecessary due to performance and issues of robustness. Hence no implementation change is
necessary to alter the HTML patching for Safari. Only the tests are altered to be conditional and
comments are clarified to note Safari's behavior. Conditional logic is added to both tests and
implementation regarding EventTarget.
test(safari): try to pass Safari tests by removing EventTarget
fix(EventTarget): remove patching of EventTarget.prototype

Originally EventTarget had been included in the list of prototypes that should be patched to catch
all necessary manipulations of the DOM. However, it seems that now patching Document, Node, and
Element cover all necessary test cases. Patching EventTarget also causes errors in Safari.
test(): remove unhelpful test comparison
docs(README.md): add explanation of interceptor behavior
refactor(domInterceptor): take detailed listener configuration out of domInterceptor dependency

With the new refactor of AngularHintLog, it is a better division of tasks
to have the high level manipulation of the listener in AngularHintDom. The
configured listener should instead be passed to the domInterceptor.
refactor(domInterceptor): remove complex logging abilities
style(): fix small style issues
test(sauce): add configuration for sauce testing
refactor(): remove exposure of variables on object
refactor(): remove patching of existing and individual elements

The current dom interceptor listener gives best effort coverage of the DOM
by patching prototypes. It does not need to patch individual elements
to detect most manipulation of DOM APIs. Hence individual element
patching was deemed too big of a performance cost and risk.

#11
refactor(): remove proxy interceptor methods

Proxies are still considered experimental javascript by browsers. Hence, using
them to detect access to DOM APIs on individual elements is unrealistic in
current browsers.

#11
test(): update tests to work with new HintLog API
style(): update comments and function order
refactor(): remove public access to dom-interceptor methods

Expose methods of dom-interceptor through module.exports rather than
attaching all functions to a dom-interceptor object.