Push parser for JSON. The lib does not implement any I/O, the caller is
pushing characters and the parser returns events.

nanojson.[ch]: parses the file format and returns token level events
semantic.[ch]: uses the token parser to return type-name-value semantic events
*dump.c: example programs that dump JSON from stdin to events on stdout
