Functional "components" 🔥
## Summary 🤔
Functional components will serve as a kind of lightweight version of regular components. They also have access to slots and various arguments.

```nim
proc myLightweightComp(arg: State[int], stmt: TagRef): TagRef =
  buildHtml:
    tDiv(class = "..."):
      stmt # here we use our slot argument
```

It is important that the slot argument be the last argument of the function. Additionally, the slot cannot be named the same as an HTML element.

For example, arguments for the slot cannot be named `body`, `html`, `img`, and so on.
⚠ However, arguments for the slot must be named as `stmt`, and nothing else. ⚠

## Usage 🧪
Using functional components is practically indistinguishable from regular ones. Here are a few examples:
```nim
appRoutes "/":
  "/":
    tDiv(class = "..."):
      myFuncComp(100, 200, 300):
        "Here our slot"
      myCommonComp(100, 200, 300):
        "Here our slot"
      
      myFuncComp1(100)
      myCommonComp1(100)
      
      myFuncComp2
      myCommonFunc2
```