Recursive macro calls, direct and indirect, would cause a stackoverflow. This PR lets the macro call handler keep track of the stack of called macros we are currently in, so we can abort with an error message instead of panicking.