Introducing SurfaceObserver borrowed from VisualEditor.
Surface Selection iteration.
Fixed project configuration.
Fix client HTML loader.
Fix project setup.
Minor cleanup.
Implement simple editing (type simple chars and use delete).