New Features
---------------
- Support function definition, if, for, and many other expressions.
- `Macro.callbacks` attribute for expression-added callbacks.
- `flags` keyword argument to specify what kind of expressions will be recorded.
Changes
---------
- `Macro` inherits `Expr` but head is fixed to `Head.block` to simplify module.