Derive `Cancel` hints

Usage: #[only(DIR)] derive Lem. where Lem is an equivalence forall ..., LHS ... -|- RHS ... or an entailment forall ..., LHS ... |-- RHS ... registers an exported Cancel hint based on Lem:

For example, with

Lemma lemPQ : P |-- Q.
Proof. (* proof of the hint *) Qed.
#[only(cancel)] derive lemPQ.

is similar to

Definition lemPQ_l2rC (* : Cancel P Q *) := [CANCEL] lemPQ.