Move functions from closure to prototype so they will be better optimized

Being able to reuse the same member function object for all objects makes
a big difference on current V8. The total effect from changing just these
three bottleneck functions is about 5-10% less CPU usage on the ARM
platform. This seems to be worth losing a little bit of encapsulation.