Add proper memory management to Node C++ bindings.

Head on a Cue C++ binding is now deleted when the destructor is called. The Node C++ bindings
now use virtual destructors and are deleted in a cascade through the InternalNode's destructor.

Removed Node::parent as it is not necessary and is going to be taken out of the webvtt_node in
the future.

Note: The Node destructor doesn't need to clean up the webvtt_node * reference it has as it will
be deleted when the owning cue frees it's webvtt_cue.x
Merge pull request #42 from RickEyre/issue-20

Add proper memory management to Node C++ bindings.