test: complete WASM runner scenario coverage
Adds 15 new tests (26 total) covering the full WASM binary runner:
Scenario tests:
- P0: alloc OOB, empty msg, allocator exhaustion, oversized msg
- P1: nonexistent address, wrong exports, graceful stop, negative
payload_len, independent stores, watch integration
- P2: WASM-to-WASM relay, multi-worker runtime
Property tests (proptest):
- Arbitrary bytes round-trip through echo (identity property)
- Double always produces exactly 2 copies (algebraic property)
Found and fixed 2 bugs:
- actor.rs: missing bounds check on alloc pointer before copy_from_slice
- worker.rs: StopSignal didn't emit watch death notification
Authored by Claude, lovingly guided by Zachery Aaron Shores-Chmielewski