Update and refactor processing model.

I've changed the processing model to reflect current talks taking place on spec bug [20037](https://www.w3.org/Bugs/Public/show_bug.cgi?id=20037) and as well as the current [editors draft](https://dvcs.w3.org/hg/text-tracks/raw-file/default/webvtt/webvtt.html#processing-model) of the spec.

I've left the region implementation alone for now as there hasn't been much discussion on the spec about it. We'll have to review it in practice once it gets into Gecko.

I wish I could make this easier to review.