Add object delegate to delegate properties to sub keypaths

Adds `BatmanObject.delegate` similar to Ruby's delgate that allows delegating on property keypath segment to another.

@davemo @SoapyIllusions @jahfer