General theming update
It turned into much more than themes, but here be the update nevertheless.
- Made counter in Route public, so themes can use it
- Made a prerender method, so you can prerender files; this is used to prerender the header and footer
- (Hopefully) fixed changelog generation
- When loading plugins, don't print the whole stacktrace
- General overhaul on how composer and IMMS handle packages
- Removed imms-dark, and made it a default dependency via composer
- Bumped required PHP to 8.3 due to the use of typed constants
- Made it possible for plugins to render content based on paths
This changes quite a few things, and may cause breaking changes.