Modified the parser so it can handle IO streams.
- 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
Fixed backward compatibility with Ruby 1.8
  - Tested using 1.9.2-p194
  - Tested using 1.8.7-p370
Added example to README
- Improved whitespace + newline in several places
- Split ParseIO module from core classes
Workaround for bug in Rubinius where StringIO.new("foo").read(0) will return nil instead of "".
Merge pull request #6 from Dirklectisch/stream

Modified parser to support stream parsing in chunks