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.