Set reasonable defaults when building a webdriver
Fix Date wrapper to work with instanceof

Previously, the Date wrapper returned a native Date, which is fail:
```javascript
console.log((new Date()) instanceof Date); // false!
```
So, refactored the wrapper to return a wrapper instance that delegates to a
private native Date.

Also refactor Date interposition code to get ready for replay.
Replay captured Dates

Also fix calls to `new Date(...)` to correctly pass through arguments.