Refactor things so that widgets can opt not to generate an element

They have to have a single child renderer instead
Get rid of the extraneous <span> around link widgets
Improve tag template

We have to include fake <li> tags to keep Bootstrap's specificity rules
happy