This implements an AvatarSelector widget and a CropArea widget.
Images can be loaded via drag and drop or an external 'Select Picture' button > FileChooser > path. The crop frame can be moved and resized.
get_avatar_surfaceyields a surface for use within Gajim
get_avatar_bytesyields bytes ready for publishing
Original code of the CropArea widget was ported from GNOME’s Cheese application um-crop-area.c.