introduce ast and cursors
move ast to new library
create project for new approach
add header file for the model
move view and edit namespaces to new header files
fix crash in block_cursor