Fix issue where nested cues were not being parsed.

Issue was with the ShouldAdd function which would return false for
tags that did not have an entry in the NEEDS_PARENT list.
Merge pull request #87 from RickEyre/should-add-fix

Fix issue where nested cues were not being parsed.
Update class cuetext tags to create span elements.

The tag name for cuetext class tags should be span according to the
WebVTT DOM construction rules.
Update elements to store the correct local name.

Due to this I had to introduce a tag stack that will keep track
of the stack of cuetext tags that have yet to be closed.
Merge pull request #88 from RickEyre/class-fix

Update element's local name and tag name to be to spec
Update ConvertCueToDOMTree() to return a div.

The specification says that we should return a 'transparent
positioned CSS block box'. A plain div will do fine for this.
This also ensures that we can add CSS to the top level div.
Merge pull request #90 from RickEyre/div-fix

Update ConvertCueToDOMTree() to return a div.