Remove non-existant Elm global
Remove elm.Native export

The elm.Native export & circular dependency gaurd can be
  implemented as a seperate piece of glue code in another file
  or in elm itself
Use cuid instead of Utils.guid()

cuid is a lean module used to generate a random id
Fix jshint compliance around usage of semicolons
Rewrite function to take options instead of elm.

To make this unit re-usable it should take arguments similar to
  elm but designed with a more general usage.
use options.addListener

Instead of depenending on elm let the implementation of
  addListener be swappable. This means other modules can
  use a simpler implementation like window.addEventListener
use custom implementation of notify

This allows the implementation of notify to be customized and
  made less elm specific.
initial implementation
native tests