Extensible editing engine and widget for FLTK