* Rework 'navIdx' variables from number arrays to strings to avoid equality-check failures in react hooks
* Resolve all remaining lint issues
* Fix tests
* Use node v18 in gh action test
* Flatten all routing into a single stack
* Replace router with custom implementation
* Add shell header and titles
* Add tab selector
* Add back/forward history menus on longpress
* Fix: don't modify state during render
* Add refresh() to navigation and reroute navigations to the current location to refresh instead of add to history
* Cache screens during navigation to maintain scroll position and improve load-time for renders