object: add property definer

```coffeescript
o = new KDObject
o.define 'fullName', -> 
  "#{@firstName} #{@lastName}"  if @firstName and @lastName


console.log o.fullName # returns undefined

o.firstName = 'John'
o.lastName = 'Doe'

console.log o.fullName # returns 'John Doe'
```