fix bug introduced on previous commits and improve perf drastically. see #4

    esprima          : 900ms
    instrumentTokens : 2366ms
    instrumentNodes  : 476ms
    TOTAL            : 3743ms

There was a bug related to endToken logic and I was able to reduce the amount
of unnecessary work even further. Added tests to avoid re-introducing the bugs.