Centralise code for drawing rounded rectangles
Add SelectableLabel, and move common code again

The SelectableLabel widget displays text, and with a highlight if it is
selected.