refactor: replace external `arrayvec` dependency
This change replaces the external `arrayvec` dependency with an API-equivalent internal one. We do this for two reasons:
1. the external dependency does not mark enough functions as `const` which we would like to have
2. general code quality and maintainance questions with the external dependency