as it appears not possible to get a pointer to a non-static member function.
It is possible, however a member function pointer is not the same as a non-member function pointer.
Is there a way to have the library setup its own interrupt handler?
You've already mentioned the common technique, you can just move it all to the class by having the interrupt handler as a static or friend function, and a static pointer/reference to the object in question.
Otherwise if you want to call a non static member function directly, you need to modify the code which calls the callback function.