Using a GtkCheckButton widget as a child as we've been doing was a
little bit too much, considering it was overachieving its use case.
Given the nature of a button, the widget was also capable of
being targetable, focusable, and activatable, which forces
a keyboard user to tab an additional time to get to the
next row in the list.
This patch introduces a new method by turning the entire row into a
check button widget, with an image widget that becomes visible or
invisible, which addresses the issues raised above. This also
avoids binding properties bidirectionally, as the image is only
used for decorative purposes.
https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/542#note_2459629
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/588>