Remove global state / module singleton

Use coffee-script-redux, and improve compiling harness

Remove global state from module. Now exports a setup function that
returns a closed in object. 

@jonpliske take a look at this