refactor of input to work with a pair of iterators, streams use istream_iterators, etc. Speed up: 25%
create number value ourselves instead of relying on strtod and friends
some minor optimisations in reader
update API examples in readme