Add proper memory management to Node C++ bindings.

I've cleaned up the commit log a little bit. 

Note: This builds on pull request #37, closes issue #20.

@caitp looks good?