Major refactoring and optimization of DNA rendering

[#51638559] [#51160333]

Various things are changed. The most important one is that now DNA
nucleotides are added and removed dynamically to / from DOM when
viewport is changed. So only minimal number of nucleotides stays in
DOM. That causes that D3 data binding no longer takes so much time, as
well as overall performance is much better due to simpler DOM tree
structure.

Now DNA can be as long as 500 or even more. Scrolling over DNA and
animations should be smooth. Only MD2D engine can be limiting while it
would have to simulate a few hundreds of amino acids.