Inherit Spooky from EventEmitter correctly

Previously, the constructor did not pass new instances through EventEmitter, so
all Spooky instances shared the same EventEmitter instance state. Instead, use
util.inherits and call EventEmitter when constructing Spooky instances.

Thanks to @tomchentw for figuring this one out.

Close #51, #60