fix some glitches by refactoring ListCursor: mode is now always present, only idx is optional
adapt ListEditor and StringEditor