fix: support module-level @runnable with continue_tracing() (#391)

## Summary

`@runnable` previously captured the trace context snapshot at decoration time, which only worked when applied **inline** during an active request. Module-level `@runnable` (the natural Python pattern) silently broke cross-thread trace linking because the snapshot was `None` at import time.

### Changes

- `@runnable` now returns a `_RunnableWrapper` object with a `continue_tracing()` method
- `continue_tracing()` captures the snapshot on the calling (parent) thread and returns a callable for use as `Thread` target — this enables module-level `@runnable`
- `__call__` preserves the original behavior: uses the decoration-time snapshot for inline `@runnable` — **no breaking changes**

### Usage

**Module-level (new, previously broken):**
```python
@runnable(op='/post')
def post():
    requests.post(...)

@app.route('/')
def hello():
    thread = Thread(target=post.continue_tracing())  # snapshot captured here
    thread.start()
```

**Inline (unchanged, backward compatible):**
```python
@app.route('/')
def hello():
    @runnable(op='/post')  # snapshot captured at decoration time
    def post():
        requests.post(...)
    thread = Thread(target=post)
    thread.start()
```

Closes https://github.com/apache/skywalking/issues/11605
9 files changed