Updated an old WebKit fix not to break Firefox 3.6

A fix for old WebKit (Android < 4) uses Object.defineProperty, which is not supported by Firefox 3.6 (and below?) and breaks the entire code in this version.

Added a Object.defineProperty detection before calling it.