Fix memory leak in BootstrapFunctionBinder

Callsites were being registered in a global BootstrapFunctionBinder but were never removed.

In this implementation, we create one BootrapFunctionBinder per dynamic classloader and load
an "isolated" version of the Bootstrap class used by invokedynamic calls. When the classloader
is garbage-collected (i.e., the compiled code is no longer needed), the callsite registrations
are collected, too.