Properly test the proxiedObject the whole way up the lookup path.

The `data-context` binding is implemented by setting a `proxiedObject` attribute on the view and then testing that object for the presence of the keypath before continuing to lookup the view hierarchy.

However, we were only checking this `proxiedObject` on the first view in the lookup hierarchy. This patch makes sure we test every view.

Fixes #827 

/cc @chantastic 

For review @pushrax @nickjs @BlakeMesdag