GC: Clean up some of the visit_* API.

All the visit_*() functions now have all arguments.
GC: Propagate the extra parameter everywhere.

All the visit_*() functions and macros should now propagate the
argument extra.