Optimize diff algorithm

Not fully, but down to 1.5 s on a reasonable sample.

Still want to explore asm.js more though, maybe with LLJS.
Postcompute backtrace

I _think_ it's okay, but there are some
differences. I don't think it should affect
correctness.
Shuffle if statement outside loop

saves some ms
Implement in asm.js

Shaves off 200ms my test case, was it worth it?

Probably, though non-asm.js firefox is hella slow for
whatever reason (13 seconds). Chromium is at around ~1s
which is acceptable.

Now to put it in a web worker to avoid blocking.

Also looking at ways to get incremental results out of
the algorithm, but it doesn't look very possible unfortunately.