Fixing `length` check.

`hasOwnProperty('length')` is not supposed to work on an `NodeList` as it's an inherited property.
Fixing `window.devicePixelRatio` stubbing.

It was not overridden in Gecko. The code was altered to accept an optional context, possibly not containing the expected property.
Merge pull request #72 from oncletom/fix-firefox-testing

[READY] Gecko Compatibility
`window.addEventListener` -> `var addEvent`
Changing tests to see if chai can be possibly compatible with IE8
Page offset generator and tests
Fixing IE/W3C eventlistener
JSHint compliance
Converted tests to expect.js

It is compatible with Mocha, Karma and mostly, IE6!
It then requires a very few changes from chai.
Merge pull request #74 from oncletom/feature-expectjs-testing

[READY] IE8 Compatible Unit Testing
Using jQuery 1.x to have IE compat in tests
Using iOS 5.1 instead of iOS 4
Running tests on Windows 7.
Fixing unrecognised `main` node with IE8.
Making a live `NodeList` for IE8.

Thus switching from `getElementsByClassName` to `getElementsByTagName` and targeting only divs.
Shims for Array functions in order to make the tests working in IE8.
Also adding Safari testing VM.
Merge pull request #73 from oncletom/fix-addevent

[READY] Internet Explorer 8 Features Compatibility
Fixing typos.
Merge pull request #75 from BBC-News/browsers-compatibility

[READY] Browsers compatibility