Add primitive-macro-transformer

The plan is to rewrite other macros on top of this.
Revise compiler-macro internals

To prepare for new macro infrastructure.