Rename private BufferRaw to GenericBuffer (which for the moment
remains private)
GenericBuffer directly wraps hb_buffer_t and implements
HarfbuzzObject.
UnicodeBuffer and GlyphBuffer are now tuple structs containing a
HbBox. This makes the semantics of the types clear.
Also all reference management is now handled by the HarfbuzzObject
trait and the HbBox type and was removed from BufferRaw.
API changes:
UnicodeBuffer and GlyphBuffer no longer implement Clone (as they are
mutable).
A new enum called TypedBuffer is introduced which can only be created
from a raw hb_buffer_t pointer. It contains either a UnicodeBuffer
or a GlyphBuffer. This makes reusing hb_buffer_t objects from foreign
code possible.
UnicodeBuffer features new methods to get the inner unicode codepoints
either as an iterator or a String.
Internal reorganization:
API changes:
Also some documentation was added.