Restructure text editor rendering

Which allows to start adding support for tabs
Add Tab (character) support