How is Pidgin::DisplayItem::id supposed to be unique?

The ids need to be unique for the account as well. I think the demo protocol plugin just hacked it together, but it should probably be a string like {account-id}-{contact-id} to make sure it stays globally unique.