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.