Update interface to give more flexibility

The previous interface was limited to using `Object.defineProperty`, but
the updated interface also allows use with inline accessor properties:

```js
var services = {
    get foo() {
        return defur('foo', this, function() {
            // Build service
        });
    }
};
```

The previous `Object.defineProperty` function is still available at `defur.define()`.