Cyclic Airstream-based stateful components for functional-reactive interfaces on Laminar and Scala.js