Fix button position when mixing buttons with and without palettes

The CSS :before selector is used to add the little arrow in the
button.  This works fine for the current tests, but an important test
was missing: mix buttons with and without palettes.  The mix provoked
a displacement of the buttons with palettes.

This commit fixes that by adding :before to all buttons to make them
have all the same structure in the DOM.  And then adding the arrow
graphic only to the ones with palettes.