Save and load control schemes from a json file. The Json deserializer
depends on all input classes having a no-argument constructor.
Untested with controllers, and untested config file writing as a jar
I can't think of any case in which I would want two strings to be
considered not equal when they have the same value.