Earlier quoted context omitted.
That's very much by design. The idea is that even if the file is stolen, a good password should still protect against a lot of bruteforcing.
By design? Or running code in the browser is inefficient? (not your fault, that's the way it is) Keepass (Desktop app) for example doesn't take ages to open.
You can easily make it faster or instantaneous by lowering the number of PBKDF2 rounds in the html-vault script. The default of 20 million seems a bit excessive based on the feedback so far.