Don't ever overwrite a key binding

Signed-off-by: Shawn O. Pearce <sop@google.com>
diff --git a/src/main/java/com/google/gwtexpui/globalkey/client/KeyCommandSet.java b/src/main/java/com/google/gwtexpui/globalkey/client/KeyCommandSet.java
index e0508e0..a788639 100644
--- a/src/main/java/com/google/gwtexpui/globalkey/client/KeyCommandSet.java
+++ b/src/main/java/com/google/gwtexpui/globalkey/client/KeyCommandSet.java
@@ -54,7 +54,9 @@
 
   public void add(final KeyCommand k) {
     assert !map.containsKey(k.keyMask);
-    map.put(k.keyMask, k);
+    if (!map.containsKey(k.keyMask)) {
+      map.put(k.keyMask, k);
+    }
   }
 
   public void remove(final KeyCommand k) {