In this initial version we only GC symbols with hidden visibility since
other symbols we export to the embedder.
We could potentially modify this the future and only use symbols
explicitly passed via --export as GC roots.
This version of the code only does GC of data and code. GC for the
types sections is coming next.