Use singleton pattern for NewContactDialog

This ensures that only one instance of the new contact dialog can exist
at a time, preventing users from opening multiple dialogs simultaneously
by repeatedly clicking the 'New' button.

https://bugzilla.gnome.org/show_bug.cgi?id=700889