Don't initialize any variables in the puzzle object declaration, do it later

This prevents old caches from forever erasing values, because initVars()
is called for each new game, even if we have stored old infos in
localStorage previously.