Macros: Split in topics, use playpen and cover more topics

I've rebased #185 and done a few changes. I'm satisfied with the current examples and the contents, but the wording could be further improved.

We are still missing the topic on how to export macros to be able to close #110 

@mdinger I hope you can review the changes
Couple things are odd if you've used regexes before:
* `$()` as a grouping operator is usually optional so as a reader, I want to try and see if I can make it work without it
* `($($z:expr),+,)`
 - the first `,` seems to check that the item *separator* matches `,`
 - the second `,` checks for `,` at the end of the sequence
 - so these are different operators and seem weird that there is no distinction
 - `+` applies to both `$(...)` and `,` which is weird. `+` usually only applies to the previous character.
 - Surprising interaction with operators:
    * `$($x:expr),+ // Works`
    * `$($x:expr),,+ // Doesn't`
    * `$($x:expr);+ // Doesn't`
    * `$($x:expr);;+ // Doesn't`
    * `$($x:expr)and+ // Works. Surprising that it allows multiple characters if ,, isn't allowed`
    * `$($x:expr)    and    + // Works. Allowing whitespace is nice.`
    * `$($x:expr)|+ // Works but has surprising result`
    * `$($x:expr)++ // Doesn't work (can operators be escaped?)`
    * `$($x:expr)$+ // Doesn't work (can operators be escaped?)`

I always end up modifying these examples and getting puzzling results so I think expanding the examples would be helpful. I have a PR I'll point to in a little bit to show you what I'm thinking but it's kinda long and perhaps out of place on this page...