Add `Buffer::dump()` and `Buffer::dump_range(..)`
Instead of relying on pretty-hex we should just implement that ourselves in a way that does not require mapping the whole buffer but works over the memories one by one, just like in C.
The memory dumping would be changed accordingly (and also get a range variant, and the current variant would take no parameters).