* fix: only update resolution when it's > 0
* fix: only render after the resolution has been initialized
* chore: update type annotation to fix warning
- Preselecting previous folder wasn't working sometimes.
- `join_path()` didn't account for drive letters already having a separator.
Also refactors how `open_file_navigation_menu()` stores menu items value. As a side effect this is now a lot faster as we don't have to serialize each item's path into meta table, but instead we now store just a path string and handle it as needed.
closes#355
Instead of calling `utils.readdir()` twice to get directories and files, we now read the directory only once and sort it by item type. Also optimizes extension checking.
ref #344