Preserve context when using `co.wrap()`

When wrapping prototype/instance methods, you don't have the context available to pass to `co.wrap()`. This commit defaults the context to the caller of the method being wrapped, instead of the thunk returned.