onToken callback and comments support

Added optional `onToken` callback and provided an example for preserving comments in the code generated with [Escodegen](https://github.com/Constellation/escodegen).
I don't think perf difference is important here (http://jsperf.com/object-create-vs-reuse/9 shows 10% diff, but it's still 10^7 ops/sec, it won't matter in overall parsing performance), but sanity is a plus.

Will do for acorn_loose.js.