Formatting
Can just check if equal to undefined.

typeof is only necessary if the var might not have been instantiated.  Try running a === undefined when you have never defined a.  Then see how you can avoid a ReferenceError by using typeof
Move code into module.

* Stops vars leaking into global namespace.
* Exports WebDiff to be used on the outside.
Added quick test script to stop me breaking stuff
Make display just a simple bag of functions
Remove state from main diffing interface.

* No more storing of attributes on WebDiff.
* WebDiff constructor now gone.  No need to store state, so just make the interface the compare function.
Break lcs_table code into own fn.
Remove unnecessary state from Versions.
Generate lcs table and do diff all in one go.

* I like the way you used a closure to capture the lcs_table.
* Note how the named fn syntax of JS lets you both immediately invoke and recurse on a function.