* catalyst: use unsafe Rust to decouple complex under `unsafe` feature
This follows the existing conventions. (e.g.
`catalyst: add exclude_field_attributes`, `catalyst: handle private fields`).
The change adds an `unsafe` feature gate that switches `Complex::decouple`
between safe destructuring and `ManuallyDrop` + `ptr::read`, with the feature
forwarded from `struct-patch` and the complex-example crate.
* catalyst: use unsafe Rust for `bind` under `unsafe` feature
* substrate: use unsafe Rust for `__substrate_new` and `__substrate_unpack` under `unsafe` feature
* bump 0.12.7
* readme