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.

@caipt looks good?