Fix GC for collectible array of pure value types (#21782)
For collectible arrays, we enter the mark_object_simple1 method even if
the array contains no pointers so that the reference to LoaderAllocator
can be walked. But we were missing skipping the call to go_through_object
which is both not necessary and it also doesn't work correctly for
objects without pointers (the loop over the fields reports the first 8
bytes of each array element as if it was a pointer).
The fix is to skip the call to go_through_object for objects without
pointers in the mark_object_simple1 and background_mark_simple1.