message: ensure mark changes are rendered (even w/ noDraw)
  schedule using forceNextRender to avoid rendering twice
diff: @@ -355,7 +355,13 @@ namespace Canvas3D {
  changed = helper.camera.mark(loci, action) || changed;
  reprRenderObjects.forEach((_, _repr) => { changed = _repr.mark(loci, action) || changed; });
  }
  - if (changed && !noDraw) {
  + if (changed) {
  + if (noDraw) {
  + // Even with `noDraw` make sure changes will be rendered.
  + // Note that with this calling mark (with or without `noDraw`) multiple times
  + // during a JS event loop iteration will only result in a single render call.
  + forceNextRender = true;
  + } else {
  scene.update(void 0, true);
  helper.handle.scene.update(void 0, true);
  helper.camera.scene.update(void 0, true);
  @@ -364,6 +370,7 @@ namespace Canvas3D {
  pickHelper.dirty = prevPickDirty; // marking does not change picking buffers
  }
  }
  + }
  function render(force: boolean, allowMulti: boolean) {
  if (webgl.isContextLost) return false;
  