* DRAFT: adding support for enabling semantics on desktop
* Working solution for desktop.
* Refactoring class structure. Removing unrelated comments.
* Fixing enabling semantics from dom_renderer
* Adding unit tests.Fixing failing cases. More refactoring.
* more work on tests.
* Fixing licences
* addressing PR comments