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

(cherry picked from commit c53a7db69ec9c262fcc227403e1336a1f48bfd01)
Merged-In: I2e139ae53c5278a220bd15195627e27274ad816a
Change-Id: I2e139ae53c5278a220bd15195627e27274ad816a
3 files changed