Revamped components in `markers`, `views` and `waveform`.
Moved stateful variables to function arguments.
Added the zooming fix missed in 50a9a451
Fixed missing drawing of the segment layer.
Cleaned segments state variables.
View height can be set through CSS.