Allow types to be passed to @keypath(x, y).

By further taking the type of `OBJ` and casting `nil` as the receiver, object types can be passed as the left hand side directly, e.g. `id<NSValidatedUserInterfaceItem>`, allowing type-safety, refactoring, and autocompletion of properties of types without having to resort to `Foo.new` hacks as the left hand side (which can be jarring and/or inconvenient).