Bug Fix: Correctly detect on Windows

On Linux in Firefox window.outerWidth and window.innerWidth are the same.

But on Windows they are different, and innerWidth is the one that we want. The
outerWidth appears to include window borders (reasonable, given its name),
which are obviously the same whether a scrollbar is included or not.

Linux doesn't have Window borders, which would explain why those values are the
same there.
Bug Fix: Work on IE

IE gives <html> the width including the scrollbar, but window is excluding it
(and compatible with Firefox too).