Implement individual macros as functors
Make example inclusion similar to other macros.

Output needs special handling so can't be integrated as a regular macro.