Feature latex esque macros

as mentioned in the open issues - this new syntax and preprocessor avoid matching things inside of strings, regex, heredocs etc. It does however require the DSL author to be responsible for wrapping their code in functions when appropriate. I have also made a pull request on the apl project with such a change in place for \apl and \apl.fn which the new examples and readme utilize.