Deal with builtins in callgraph.

If you pass a handle to a builtin (among other cases), it would look
like the call to the builtin was actually a call to the handle, because
we don't instrument the builtin. This fixes this by adding builtin
start/end events in the call trace, separating calls and enters.