use buffer 3.0.0

New Buffer major version: 3.0.0

It has some breaking changes, but they improve compatibility with node!
The whole node buffer test suite passes now, thanks to @jessetane!

- toString('ascii') and slice('ascii') work correctly (strip off high
order bits)
- correct exception types thrown (RangeError instead of TypeError in
many places)
- do not encode partial code units to utf16
- do not encode partial or invalid code points to utf8
- copy() correctly returns length