Restore tainted objects in web driver on Safari

Fixes #53. Array.prototype methods are stored in an object and then
restored after the test runs, which is wrapped with a try/catch. Some
index properties are also deleted, and any errors resulting from the
actual tests are rethrown.