Provide custom __get__ rather than proxying

Otherwise we risk our wrapper not being called, and instead the proxied
version being called directly. This caused issues when a method was
wrapped twice.