Treat PhantomReferences like normal object

PhantomReferences are classes like sun.misc.Cleaner (I think that's the
only type).

This change:
* Uses Class::GetIFields() instead of Object::VisitReference() to
  visit references for PhantomReferences. This way,
  the `sun.misc.Cleaner.referent` field is included. This is useful for
  understanding native allocation sizes.
* Avoids emitting field_ids for each PhantomReference objects. The
  field_ids emitted in the types are enough (they are for normal
  classes).

Tested by building, flashing, getting a perfetto heap dump of systemui
and loading into the perfetto ui at aosp/1869189

Bug: 194395971
Change-Id: Id2b5a1c80550a3d43c8b0289c198324fb327ecbc
1 file changed