I think it would be helpful to have pointer+size strings for something like Fl_Text_Buffer::append, since with something like C++17 string_view it is not possible to guarantee null termination.
It may also be worth considering std::string_view as an alternative to std::string in some cases for future FLTK, since string view is non-owning and therefore much cheaper to copy (this is especially prominent when converting to/from C-strings as many applications might).