proc calls in component misbehaving when in slot of another component: Found Bug 🐛
**Describe the bug** 🐛
Analogous to previous issues like #139 with nested loops, we are now having problems with iteration in nested components.

**To Reproduce** 👨‍🔬
```
import happyx
import std / [random]

component withRandom:
  n: int = rand(99)
  `template`:
    tDiv: "self random: {self.n.val}"
    tDiv: "random in template: {rand(99)}"

var counter: int = 0
var counter2: int = 0
proc nextCounter(c: var int = counter): int =
  c += 1
  result = c

component withCounter:
  count: int = nextCounter()
  `template`:
    tDiv: "self count: {self.count}"
    tDiv: "count in template: {nextCounter(counter2)}"

component withReps:
  n: int = 5
  `template`:
    for i in 1..self.n.val:
      tDiv(style="border: 0.2em dotted gray;"): slot

appRoutes("ROOT"):
  "/":
    component withReps():
      withCounter()
      withRandom()
      "non-component rand {rand(99)}"

```
![image](https://github.com/HapticX/happyx/assets/126020181/47441d09-223b-4ca8-9cfa-bcccf8f20a0d)


**Expected behavior** 🤔
We should see `self count` and `self random` independently varying between repetitions, since they are declared in a loop inside of a component.

We should see the count in template starting from 1, since it depends on an independent counter and the first output of `nextCounter()` should be 1. Though it is correctly changing as the global variable increases, it is being pre-incremented by the internal logic of the loop even though not all of the values are displayed.

**Please complete the following information** 📃
 - HappyX version @#head, nim v. 2.0.0
 

**Additional context** ✌
Add any other context about the problem here.
