It seems that there is a broader problem with the way that the button
is embedded within the label of a checkbox; even on Chrome it meant
that the checkbox active state was triggered when clicking on any of
the buttons. The user experience was in any case confusing; it wasn’t
obvious that clicking on the label to the right of the button would
flick the checkbox.
The solution takes the buttons and labels out of the checkbox label.
By rearranging the `[all[]]` operator we are able to ensure that shadow
tiddlers get processed before ordinary tiddlers. This makes it easier
to create custom stylesheets that override the core.
We get a significant speed improvement of >10% by rearranging filter
operators to bring to the front the operators likely to reduce the size
working list.