Support macros within macros, for when we need to go deeper.

The solution is completely my own.
Adds a test for when macros contain a mapping