Reimplement text edit scrolling in C++
* And update some corelib APIs