Retrieves a sequence of characters.
The characters that are retrieved are those characters at positions from
start_pos up to, but not including
end_pos is negative, then the characters retrieved are those characters from
start_pos to the end of the text.
Note that positions are specified in characters, not bytes.
start of text
end of text
a pointer to the contents of the widget as a string. This string is allocated by the Editable implementation and should be freed by the caller.