For call_function* calls, only call run() for VM pointers.

If the pointer's < 0, it's a bound callback and run shouldn't be called.
Basic doc comments for most of vm_thread.cpp.