editor: Make editor multi-seat aware

With multi-seat, multiple entries can occur on the text inputs in the
editor.  Also, the panel shouldn't be hidden by the editor if either
text entry is still active.

Signed-off-by: Derek Foreman <derekf@osg.samsung.com>
Reviewed-by: Jan Arne Petersen <janarne@gmail.com>
Reviewed-by: Bryce Harrington <bryce@osg.samsung.com>
diff --git a/clients/editor.c b/clients/editor.c
index db7be2a..9299a05 100644
--- a/clients/editor.c
+++ b/clients/editor.c
@@ -473,7 +473,7 @@
 	if (surface != window_get_wl_surface(entry->window))
 		return;
 
-	entry->active = 1;
+	entry->active++;
 
 	text_entry_update(entry);
 	entry->reset_serial = entry->serial;
@@ -488,10 +488,10 @@
 	struct text_entry *entry = data;
 
 	text_entry_commit_and_reset(entry);
+	entry->active--;
 
-	entry->active = 0;
-
-	wl_text_input_hide_input_panel(text_input);
+	if (!entry->active)
+		wl_text_input_hide_input_panel(text_input);
 
 	widget_schedule_redraw(entry->widget);
 }