Instead of unsafe stack sniffing, rely on frame pointers.

We can't do introspection without frame pointers now, but this makes
valgrind much happier, and makes the whole thing less error-prone.