Support for parsing SRT data as a String instead of a File.

I split `parse` into `parse_string` and `parse_file`. The `parse` method
chooses which to run based on the input.

This also uncomments the test for a Spanish language file with dubious
encoding. The encoding fallback chain seems like it fixes it.