Add support for lang tags.

This is done in a sort of hackish way. I'm hoping that we will be
able to refactor a lot of the node stuff soon. It's in need of it.
I've also added lang tag payload tests.

I've done some initial refactoring with the node-list, but that hasn't landed yet. I had more planned, but it isn't really needed yet since we're pushing for WEBVTT to be landed in Nightly now. I'll continue the rest of refactoring after.