Better pause screen GUI

Various little things this week, mostly UI as usual.

UI

I've implemented a tweening transition between gameplay and the pause menu. So, when the brownish overlay of the pause screen appears, it's not super sudden.

I've experimented a bit with dynamic UI. My approach so far was to design the max-size UI and scale it down for different presets. This seems to work for now, but conversations online lead me to believe it's a treacherous path, and I need to go another way. Putting back the dirt in this rabbit hole, and marking it to revisit!

I've implemented a UI stack and optional hiding of GUI when it's not at the top of the stack. This allows the pause menu to also display the world and its UI underneath.

I've started working on a draft equipment GUI, but that's coming next week.

Refactoring

Several bits of refactoring, but the most shareable is a display of the GPU memory used at runtime. Vulkan provides it, Godot exposes it, and I'm showing it in the GUI. Shortly after I realised some memory leaks. Yay! Got them fixed, so all good.

Content

Yeah, so, because I'm a bad cheater, I recolored a palm tree and branded it as jungle vegetation. Better than nothing, and doesn't look too shabby!

Meta

Balancing act: have to work with refactoring (e.g. items) whereas I need/want to share more visual updates and typical bugfixing. Broken stream of work!

Dynamic UI scale