Rewrite node bindings.

I've rewritten the node bindings as we've discussed. I've added in a
static const node that defines a safe empty node that we can use when
constructing default nodes. There is also a public webvtt_init_node
function that allows the Node bindings to access this functionality.
Finally, I've changed the webvtt_release_node function to set node to
0 once it has been deleted.

Fixes #72. 

Please note this shouldn't be landed. I've rewritten the node bindings, but none of the unit tests so this doesn't even compile past the unit test linking right now. 

After we're sure that this is the way the node bindings should be we can start rewriting the payload unit tests.

@rillian, @caitp can you comment?