Add user and role-based permissions system

Introduced a granular permissions system with user-specific and role-based permissions. Added Permission, UserPermission, and RolePermission models, related migrations, and seeders. Implemented PermissionController for managing permissions, and middleware for permission and admin checks. Updated User model with permission logic, filtered menu items based on permissions, and registered new middleware. Also updated composer scripts and dependencies.
