Modified parser to support stream parsing in chunks

- See README for example usage.
- It is able to parse a stream in chunks by using calling .parse! several times
- The original API is unaltered so it should be backward compatible
- Added a test for dictionaries
- All original tests are running as before
- Able to initialize a parser from a StringScanner, String or IO object