Use perfect forwarding in the function adapter instead of wrapping it into two layers of `absl::AnyInvocable` by copybara-service[bot] · Pull Request #1765 · google/cel-cpp

@zeitgeist87 @copybara-github

… into two layers of `absl::AnyInvocable`

The current implementation uses a type erased `absl::AnyInvocable` and then wraps it into another `absl::AnyInvocable`, which can be avoided by using a template and perfect forwarding.

PiperOrigin-RevId: 825059992