Merge pull request #41 from rillian/malloc

Remove unused AC_FUNC_MALLOC check.
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 #33 from rillian/visibility

Fix 'visibility' attribute ignored warnings.
Merge pull request #42 from RickEyre/issue-20

Add proper memory management to Node C++ bindings.
Rename lexer.c's T_INITIAL to T_START.

This avoids conflict with parser.c's T_INITIAL which we'd like
to move to parser_interal.h. Ideally the lexer would be independent
which would let us change the name back.
Move parser state and mode enums to the header.

This allows us to use the enums in the state structures which
gives us both type checking, and more readable debugger output.
Moved lexer states into parser_internal.h

Renamed lexer states to begin with L_ rather than T_, so that they may
be distinguished from parser states.