Support `component`

http://code.google.com/p/esprima/issues/detail?id=342
Use the delegate to create the location information.

This is just the first step in that direction. Also, expect some
performance flakiness (it will be tuned again later).

It also brings the location annotation approach very much like the
original one proposed by Kris Kowal.

https://code.google.com/p/esprima/issues/detail?id=355
UnaryExpression should have prefix: true

https://code.google.com/p/esprima/issues/detail?id=418
Use single-quoted string literals.

https://code.google.com/p/esprima/issues/detail?id=398
For some demos, load Orion editor as early as possible.

https://code.google.com/p/esprima/issues/detail?id=404
Revert early loading of Orion code.

For a particular reason (not investigated yet), this causes the problem
in the demo itself.

https://code.google.com/p/esprima/issues/detail?id=404
Remove the (last) tracking function from binary expression.

Continuing the last refactoring to use the delegate and the marker,
this completes the abandoning of the special location tracking modifier.

https://code.google.com/p/esprima/issues/detail?id=355
Remove filterGroup.

As suggested by ZHANG Bei <ikarienator@gmail.com>, getting rid of the filter
should give some speed-up. Currently with V8 this leads to 1.4x faster parsing
on the benchmark suite (with location tracking).

https://code.google.com/p/esprima/issues/detail?id=417
Remove the need to extend the delegate.

This temporarily reduces the speed when parsing without location
tracking (about 7% with V8). No observable performance change
when parsing with location tracking.

https://code.google.com/p/esprima/issues/detail?id=355
Fix variance unit conversion.

This is also needed for browser-based benchmarks.

https://code.google.com/p/esprima/issues/detail?id=397
Catch clause should only accept an identifier.

https://code.google.com/p/esprima/issues/detail?id=423
Revamp the speed comparison test.

Focus on parsing with location tracking.
Use the upstream code for the parsers.

https://code.google.com/p/esprima/issues/detail?id=424
Always benchmark with location tracking parsing.

https://code.google.com/p/esprima/issues/detail?id=424
For the benchmark result, show relative mean error instead of variance.

https://code.google.com/p/esprima/issues/detail?id=424
Speed comparison: No need to display the source size.

We need the precious horizontal space.

https://code.google.com/p/esprima/issues/detail?id=424
Use rawgithub.com to load upstream external projects.

https://code.google.com/p/esprima/issues/detail?id=424
A new smoke test: parse all the code in the benchmark corpus.

https://code.google.com/p/esprima/issues/detail?id=425
Ensure the smoke-test library parsing work with the barebone V8 shell.

https://code.google.com/p/esprima/issues/detail?id=425
Simplify skipComment() function.

Just like in V8 and other JavaScript engine, handle single-line and multi-line
comment separately. This avoids building a "mini state-machine" inside
skipComment() function.

This reduces the cyclomatic complexity of skipComment() from 19 to 8.

http://code.google.com/p/esprima/issues/detail?id=396
Vary parsing options in the unit tests to increase code coverage.

http://code.google.com/p/esprima/issues/detail?id=388