rewrote/reorganized parser, added data pointers to callbacks, created libcc.h header