Add shorthand macro syntax

The new syntax mimics the shorthand function syntax, coming in three
variants, #[], #{}, and #(){}.