Rewrite classTrack to not use jweaks.

On Android runtimes there is a hard limit for the number of jweaks
that can be active at any one time. By holding a jweak for every class
(often in addition to the one being used by the regular commonRef
code) the debugger was causing the process to run out of the jweaks
when debugging some programs.

This changes the implementation to instead use a second jvmtiEnv which
tags all of the classes in order to keep track of which have been
collected.

Test: Use debugger with AGSA (velvet)
Test: ./art/tools/run-libjdwp-tests.sh --mode=host

Bug: 76096110

Change-Id: I2e139ae53c5278a220bd15195627e27274ad816a
3 files changed