Add a leading-icon slot to ListItem so settings-style rows can pair a 24 px symbolic glyph with the label. `.icon( rgba, w, h )` takes the same shape the rest of the toolkit uses for raw pixmaps; the draw path reserves `ICON_SIZE + ICON_GAP` on the left and shifts the label / subtitle text origin so existing icon-less rows render unchanged.