components not rerendering with the rest of the dom 🐛
**Describe the bug** 🐛
Printing on Chrome should effectively impose new styling on the entire document, triggering a rerender. However, iterated components fail to rerender while the rest of the DOM updates.

**To Reproduce** 👨‍🔬
```

import happyx, strformat, random

component ShowNum:
  n: int
  html:
    "{self.n.val:04}"

randomize()

appRoutes("ROOT"):
  "/":
    for i in 1..7:
      let n = rand(9999)
      tDiv: tSpan:
        "{n:04} = "
        ShowNum(n)

```
The data are correctly matching when the page renders the first time.
![image](https://github.com/HapticX/happyx/assets/126020181/74519797-9f38-4fe8-ba01-40c3f1e914a0)


But trigger a rerender with the print dialog, and the components' values on the right side do not change, while the values on the left are given new random values.

![image](https://github.com/HapticX/happyx/assets/126020181/1757d4be-8baf-4666-b07b-4863dc168857)


**Expected behavior** 🤔
It's acceptable for the whole page to rerender when triggering a print or on other occasions, but this should rerender the whole page, generating components afresh along with the other DSL content.


**Please complete the following information** 📃
 Chrome 121.0.6167.184-1, Nim 2.0.0, HappyX 3.8.12 @#head

