* replaced the BorrowAs trait with ObjectOrVariant trait; added explicit trait bounds in pool and graph's typed_ref method.
* renamed pool's typed_ref to try_get
* renamed try_get to try_get_node in BaseSceneGraph
* deleted try_get_mut from impl Graph, and replaced all occurrences with try_get_node_mut
* renamed typed_ref in SceneGraph to try_get
* added graph::prelude which contains AbstractSceneGraph, BaseSceneGraph and SceneGraph traits; added use graph::prelude::* in the script template to expose try_get functionalities.
* resolved merge issues
* formatted code
* added use fyrox::graph::prelude::* to template game/src/lib.rs to expose UserInterface's try_get functionality
* added "#[allow(unused_imports)]" on game template and script template
- this is semi-reliable solution, but much better than having hardcoded version
- this still requires a CI script that will check that all crates in the engine have the same version
- log file could be undesirable in some cases and now it is off by default and can be enabled by `Log::set_file_name/set_file` in `fn main`
- bumped MSRV to 1.80 and to use LazyLock