Add another version of util.extend using __proto__

This version is for functions that we want to add methods to them and
will just put the source object in the function prototype chain. This
will make creating new observables about 35% faster.

Here's the benchmark I used: https://gist.github.com/alFReD-NSH/4958683

On this branch it shows about 270,000 ops/s, but mater is 200,000.