If localStorage writes were free, we'd want to just save
on every history change. Second best is to debounce the
write.
Writing on mode change is problematic; it sometimes happens
when not desired and sometimes doesn't happen when desired.
Fixes#1857.