Migrate crossterm-system-theme to a Rust napi-rs native core
Takeaway: I'd start the next prompt by pointing straight at objc2/objc2-foundation version pinning and the ThreadsafeFunction API, since half the session went into churn from crate version mismatches (notify vs objc2, define_class signature changes, ProtocolObject casting) that a quick version check upfront would have avoided.