API: Change 'data' field from a single char to a string

Allowing multiple bytes to be returned in a single YXML_DATA token. This
is (unfortunately) necessary for a few special cases:
- &#N; for N > 127,
- <? ? ?>
- <![CDATA[ ] ]]>

I'll fix those separately in the next commits. This data string is now
also re-used as a temporary buffer for entity/char references, removing
the private 'ref' field.
4 files changed