Change tests to check integer pos.

Changed the tokenizer unit tests to check against the integer
position of the current character instead of what the current
character is. This avoids ambiguity.
Add string API routines to replace substrings

4 unit tests for these two new API functions

Using the functions in parser.c when reading lines of text.
Removed `M_READ_LINE` mode, no longer used
fix typo in README
Merge pull request #369 from jbraffoul/readme-fix

fix typo
Merge pull request #366 from caitp/issue-366

Convert NULL byte to U+FFFD (utf8 {EF,BF,BD}) in parser
Merge pull request #368 from RickEyre/track-len-pos

Change tests to check integer pos.
Add \0 case to webvtt_start_tag_state().
Merge pull request #370 from RickEyre/add-null-byte-2

Add \0 case to webvtt_start_tag_state().
Remove unecessary char * casts.

Now that we've removed webvtt_byte we no longer need to do
these casts that we were doing before.
Fix comments in plescapecharacter_unittest
Add rlm, lrm, nbsp tests to escape tokenizer tests
Remove unneeded string import
Merge pull request #374 from RickEyre/remove-char-casts

Remove unecessary char * casts.
Implement new ruby text parsing rules

Don't know if we missed this last time or it's new, but ruby
end tag nodes are valid and tags for ruby text nodes. Also,
a ruby text node is only allowed to be added to the tree if
it is nested within a ruby node.
Add testcase for bug 863931 to regression_tests
Merge pull request #381 from caitp/863931

Add testcase for bug 863931 to regression_tests
Merge pull request #375 from RickEyre/fix-comments

Fix comments
Merge pull request #376 from RickEyre/add-escape-tokenizer-tests

Add rlm, lrm, nbsp tests to escape tokenizer tests
Merge pull request #378 from RickEyre/add-ruby-rules

Add ruby rules