Refactor + minor generic changes
A bunch of minor improvements to the game.
- Removed class SpatialExtended, no longer serves a purpose
- Implemented static typing when possible
- Some Main code moved to classes where it makes sense
- testing new godot things (casting and setget)
- assert on all signal connections