Fix issues with single line MACRO ... ENDMACRO definitions failing to parse and strip leading / trailing newlines from the macro body.
Add support for top level expansion macros, register arguments and add error messages for incorrect macro calls.