[COREVM-69] Native type handles tied to dead objects are not deleted

In the current implementation of how native type handles are stored and associated with dynamic objects, those that are tied with dead objects are not deleted. In `corevm::runtime::process`, the garbage collector will remove the dead objects from the heap, but the corresponding native type handles are not removed from the native type handle pool. This branch simply fixes this issue.