Inconsistent behavior of components in component slots 🐛
**Describe the bug** 🐛
Simple components like 
```
component Container:
  `template`:
    tSpan:
      slot

```
should behave essentially as tags like `tSpan`, but there are situations with iteration and components with `Container` in the template that do not.


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

component Container:
  `template`:
    tSpan:
      slot

var grandCount: int = 0

proc nextCount(): int =
  grandCount += 1
  result = grandCount

component Counter:
  n: int = nextCount()
  `template`:
    "{self.n} )"

component withCounter:
  n: int = 9
  `template`:
    #component Container:
    tSpan:
      for i in 1..self.n.val:
        component Counter

appRoutes("ROOT"):
  "/":
    for i in 1..10:
      component withCounter

```
**Expected behavior** 🤔
We would expect the Container's slot to behave like contents of a `tSpan`. This modularity would allow repeated code to move into components at all levels of the codebase. Instead each parent conponent `withCounter` uses identical instances of the slot. That is, the `tSpan` counts from 1 to 90:

![image](https://github.com/HapticX/happyx/assets/126020181/19a1dbd7-efa8-4979-a485-b0617c963d78)

But if you comment out the `tSpan` and use `component Container` instead, it merely counts from 1 to 9 repeatedly:

![image](https://github.com/HapticX/happyx/assets/126020181/07ffdfd2-8201-4fd9-8998-18d77b02fbcf)


**Please complete the following information** 📃
working in the SPA end 
w/Chrome, Manjaro OS
 `HappyX 3.0.0`  @#head 

