Besida (¨бесіда¨) ─ language for defining dialogue

Implementation:

Moving forward I want to add more events such as expressions/emotions of speaker, text speed control, text highlighting or styling in general. Also better ways to read actions when matching.

Here's an example with godot-rust where event_tick is triggered by letter display timer to simulate typing: ```rust #[func] fn eventtick(&mut self) { let Some(node) = self.besida.getnodemut() else { return }; let Some(event) = node.getevent() else { return };

    let mut dialogue_box = self
        .base
        .get_parent()
        .unwrap()
        .get_node_as::<DialogueBox>("DialogueBox");

    match event {
        Event::PrintChar(char) => {
            let speech = dialogue_box.bind().get_speech();
            let new_speech = format!("{}{}", speech, char);

            dialogue_box.bind_mut().set_speech(new_speech.into());
        }
        _ => {},
    }

    node.next_event();
}

```