[2.0] Add TracePoint API (partial impl)

TODO:

* Try to avoid eagerly allocating binding. May not be possible.
* Provide return values for return events
* Properly handle exception value for raise events
* Add block events and other missing events