Full IE support, back to IE 7.

I can only test this far, since IE 9 doesn't emulate IE 6.  I've added
the remaining polyfills and tested.