I'm impressed with the listener approach; it's suprisingly sound. `null` is not the right assignment, though, because we interpret it as default context and may later skip a necessary `setDocument` (see [L181](https://github.com/orkel/sizzle/blob/8207a90f4dad704d2591d1fb03e4d05dc7fd1e23/sizzle.js#L181)).

It would be better to register `setDocument` itself, to fully and safely restore the default context on frame unload.