Allow creating multiple CaptionConverter instances.
Convert duplicated force_byte_string() method to a function.
Add __repr__ for Caption class, for debugging purposes.
Rewrite WebVTTReader:

* doesn't rely on SRTReader
* needs a single pass through the data
* more validation checks
break long line in Caption.__repr__()
Add __repr__ for CaptionNode class.
Fix convertion to WebVTT from SAMI files that contain two adjacent <br/> tags.
avoid 'index out of range' error
use str(e) instead of e.message

also, keep the full stack trace
Merge pull request #28 from pbs/webvtt-validation

- improve validation for WebVTT files
- fix encoding of multiple newlines in WebVTT files
- convert force_byte_string() into a standalone function
- add __repr__() for Caption and CaptionNode classes