Beginning work on the garbage collector. Removed TAG_HEAP and resorted to
allocating all heap related structures outside of the GC heap. The reason
for this is that allocating them inside the heap would mean having to
special case the collection code to not move the heap object and I don't
want to have to deal with that right now. Maybe I'll just carve off a
chunk of the heap for metadata (cards, buckets, heap structure)?