Remove object schema parsing in CommandDefinition

The only thing we now care about in CommandDefinition is the
"minimalRole" field. Everything else is a black-box which we just
forward to the server without any semantic parsing.

Also completely removed command visibility support since it no
longer applies to trait/component model.

BUG: 25841230
Change-Id: Ie8fff57ffada289caa7876c2a53150bb116fd65b
Reviewed-on: https://weave-review.googlesource.com/1617
Reviewed-by: Vitaly Buka <vitalybuka@google.com>
diff --git a/examples/daemon/speaker/speaker.cc b/examples/daemon/speaker/speaker.cc
index 32591f9..178be14 100644
--- a/examples/daemon/speaker/speaker.cc
+++ b/examples/daemon/speaker/speaker.cc
@@ -18,10 +18,10 @@
     device_ = device;
 
     device->AddStateDefinitionsFromJson(R"({
-      "onOff": {"state": ["on", "standby"]},
+      "onOff": {"state": {"type": "string", "enum": ["on", "standby"]}},
       "volume": {
-        "volume": "integer",
-        "isMuted": "boolean"
+        "volume": {"type": "integer"},
+        "isMuted": {"type": "boolean"}
       }
     })");
 
@@ -38,7 +38,7 @@
       "onOff": {
          "setConfig":{
            "parameters": {
-             "state": ["on", "standby"]
+             "state": {"type": "string", "enum": ["on", "standby"]}
            }
          }
        },
@@ -50,7 +50,7 @@
                "minimum": 0,
                "maximum": 100
              },
-             "isMuted": "boolean"
+             "isMuted": {"type": "boolean"}
            }
         }
       }