Add Buffer support to entire API.

Also update bench to exercise everything.