simplify ast, remove unnecessary pointers
add visitor code and one test for it
make jsgo command use generator and visitor, remove old code