fix most of macro-related issues
This basically restricts a macro scope to contain something similar to what a regular block can contain (but without block nesting). Macro ends with a newline following any non-continualion char.
add tmLanguage comment