Replace gumbo/buffer.c with gumbo/buffer.lua...

The new Lua implementation is slightly less time/memory efficient but is
also much simpler and less prone to subtle bugs.

Possible future improvements:

* If a faster, API-compatible buffer module is available, just return that.
* If `table.new()` is available, use it in place of `{}`.
Remove n field from buffer instances