Optimize and refactor compact_pointer implementations
Optimize and refactor compact_pointer implementations

Clarify the offset applied when encoding the pointer difference.
Make decoding diff slightly more clear - no effect on performance.

Adjust branch weighting in compact_string encoding - 0.5% faster.
Use uint16_t in compact_pointer_parent - 2% faster.

zeux/pugixml,zeux/pugixml,zeux/pugixml,zeux/pugixml