Use `label` attribute to name tags and blocks.

Using `label` allows us to reuse `@` to label tags and blocks. `@`
translates to a `label` attribute on an element. It is currently used to
label loops and recusion.

Closes #160.