Allowing more than one game state in the game spikes the required memory, extremely increasing the lag.
Errr, if you're seriously taking that much lag from a game state, you're doing something very wrong. Bigger games manage to save between 5 and 7 using the same engine (running out of browser-assigned localstorage first instead)
The game state of a web game like this, without having to store images or collision models or much of anything in ram (only the variables for the state, characters, locations) shouldn't be crossing 20MB ram per game state and that's being generous...