Fix node rewrite as per pull request discussion.

- Fixed webvtt_init_node to use a **node in order to have modifications be passed
back to the calling function.
- Changed the node bindings to throw std::out_of_range exception when trying to
retrieve from an index that is out of range.
- Changed webvtt_release_node to not check whether or not str->d exists becaused
webvtt_release_string will do this for us.
- Changed webvtt_ref_node to ensure that *node exists before attempting to
increase the ref count.