Tidy up documentation and use of the runtime.Callers and .Caller skip arg
and extend the factory function to accept a skip arg of its own.