Add debug backend
This MR introduces a new feature: the debugging backend. it enables the user to test the current nesting behavior and also writes out a trace in a json format, which the user can use to debug the application instrumentation.
I also modified the delegator a bit, which now keeps a thread local stack to enable multithreaded region annotation if the backend supports it.
Edited by VALENTIN SEITZ