Engine is now aware if it's in a subdirectory, please exclude from routes
Drop prefix (view/partial-) from view names
Drop prefix (template-) from template names
No need to strip empty directory (engine running at root) from route
Routes are now named in the route config

Use the $router->path() method to return a path by route name.
Use the $router->nameByPath() to return a name by route path
Add directory (auto-populates if running in a sub-directory) to assets path in main template
Fix 404 handling with route names
Wire up 404 page with new $router->path method for home link
Remove redundant path param
Tidy up Cache class, remove recursion of $app
Remove whitespace
Class tidy-up and reduce recursion of dependencies