automatic rerender, improved ID generation and minor refactoring

- listen to callgraph changes and rerender (throttled)
- use simpler IDs in instrumentation and provide extra information separately
- reduce globals