Use $element->getLabel()

Fix to use getLabel() then fallback to traditional getOption() ?: getAttribute(). Some elements with a label being set using setLabel() were not correctly showing the label

The downside is that now buttons also show the label when they didn't before and I'm unsure as to the best method of resolving that and whether that should actually be the case.