convolve: avoid function pointer casts by adding wrapper functions
Introduce _base_convolve_*_void() wrappers matching the expected function pointer signatures and use them instead of casting _base_convolve_* functions to (void *).
This removes unsafe function pointer casts and improves type safety, which is required for stricter toolchains and non-native targets (e.g. WebAssembly)