properly inherit prototypes and globals

With the current version, the 'ree' object in the code, is 'cached' when you do a require of the module.
This patch makes the object and listeners per ``new`` object and keeps them separate.

Love that you'd also bump the official version , once merged.

thanks!