avoiding allocation of Rectangle in 'frame' property (refs #493)

Attention: the property can now return 'null'. This might break some code — but it's cleaner that way.