ImVec2 resetting to zero unsafely
<!--
**Note: For support questions and feature requests, please use discussions**.
This repository's issues are reserved for bug reports.
-->

* **What is the current behaviour?**
`data[^1].padding` is `ImVec2(x: 0f, y: 0f)`.

* **Please provide the steps to reproduce and if possible a minimal demo of the problem**
```nim
import nimgl/imgui

type Toast = object
  title*: string
  content*: string
  padding*: ImVec2
  opacity*: float32
  separator*: bool

var data: seq[Toast]

data.add(Toast(padding: ImVec2(x: 10, y: 10)))

assert data[^1].padding == ImVec2(x: 0, y: 0)
```

* **What is the expected behaviour?**
`data[^1].padding` to be `ImVec2(x: 10f, y: 10f)`,

* **Please tell us about your environment**

  - Version: 1.3.2
  - OS: Linux
  - Bindings: ImGui
  - Backend: CPP
  - Nim Version: 1.6.5
  - Compiler used: GCC

* **Other information** (e.g. detailed explanation, stacktraces, related issues, suggestions how to fix, links for us to have context, eg. stackoverflow, docs.gl, documentation etc)
