rusticl/icd: make sure returned function pointers are of the right type
For extensions in the official CL headers this isn't all that important as those are quite stable, but once we implement ext extensions it's better to catch changes at compile time.