widgets: textbox: remove debug rt_kprintf
widgets: add RTGUI_WIDGET_SET_UNFOCUSABLE
widgets: textbox: fix the caret showing on raw focus
widgets: textbox: expose rtgui_textbox_onfocus

Maybe we should expose all the event callbacks for widgets.
widgets: textbox: reset the caret in set_value
the first rect of rtgui_rect_moveto_align could be const
widgets: edit: import fixes from Xiaonong
dc_hw: check the drawing against extent of the widget
edit: add testcase
widgets: edit: refactor the core logic

It's a huge commit that fix many many bugs and introduce many
optimizations.
RTM_EXPORT on iconbox and progressbar
widget: edit: update testcase