simplify GC design

Removed heap-threshold to delay the entering
of GC phase.

And use traverse/roots-white instead to avoid
duplicate tree traverse data allocation which could
exhaust the heap.
more correction on generational gc
start point of hybrid gc

ToDo:
- suspect the correctness of cross-generation
   pointers' creation/allocation/deletion/forwarding
- make-pointers-to-2nd-gen-root should be less
   frequent within copy/alloc