Stop safari from blowing up

Fixes #138 and #173 

@zackbloom @TrevorBurnham @marcneuwirth 
I believe you still want to use `to[key] = val` in browsers where `Object.defineProperty` is not defined.