Pull contact selector into its own widget

And remove the need for db_list_mixin