simplify server-side datastore so simulator webserver and the real piano code can share it, and make MasterVisualizer load what's on disk and reload if things change