Update js_defer to the last revision.

=> Fix defer_js for old versions of safari.

In js_defer.js we override some document. and window. functions and need to
revert
to the original behavior when we're done running deferred scripts.
Unfortunately the page we load may override our overrides (calling through to us
as it does so)!  So we can't just put the original functions back.  As a result
we check object state and a flag to see whether we should simply revert to the
original behavior or continue to behave as if overridden.
Add more tests.
Update the readme.