Do not use getter ES5 syntax for old browsers.

IE8 seems to have problems with this,
so using ES5-shim's Object.defineProperty instead.