Refactor genetic engine, implement state machine, simplify metadata

[#48721579]
Cleanup genetic engine, update its tests, limit number of events

[#48721579]

Genetic engine now emits only "change" and "transition" events. The
former means that state has changed and view should jump to it, while
the latter means that view should animate transition.
Update interactives connected with genetic engine

[#48721579]