Provide methods to define ES5 getters and setters

To allow jsdom to run in environments that don't support `__defineGetter__` and
`__defineSetter__`, implement equivalents in terms of ES5's
`Object.defineProperty`.
Use utils.define* sted __define*

Replace all instances of `__defineGetter__` and `__defineSetter__` with the
respective method from `jsdom/utils`. This is work toward #711.

For posterity, the vim regex I used is:
`\(\s*\)\([^_]\+\)\.__\([^_]\+\)__(\([^,]\+\),/\1\3(\2, \4,`
Change stray tabs to spaces