Write dce'ed output in preoptimizeJS based on reachability analysis.

Based on the reachability analysis introduced in the previous
commit, write a dce'ed output in preoptimizeJS. It includes
only classes, objects, methods and data that have been marked
as reachable by the analysis.

This completes the first version of the type-aware dead code
elimination.
Temporary commit to test dce with the examples.

helloworld/preoptimizeJS
and
reversi/preoptimizeJS
will run only the type-aware dce on the respective examples.
The pages {helloworld,reversi}-2.10-preopt.html execute this
pre-optimized version.

helloworld/optimizeJS
and
reversi/optimizeJS
run the Closure compiler on the result of preoptimizeJS rather
than packageJS. The fun thing is that it is virtually no slower
than running only packageJS (at least on my Windows machine at
home).