Add unfinished macro parsing.
Fix some cases where the visibility keyword wasn't being inserted into the AST.