add basic experimental weak map support.

This only adds edges when the map and delegate are null, so it should be safe.
Add support for pretending all weak maps are alive.

In practice, most maps are put on globals, so we can fairly safely assume they are alive.

This allows analyzing more weak map entries.