Add a simple logger interface.

The logger interface can be used to inject loggers from the application
which is using the arm kinematics library to receive internal log messages.
Inject the logger into the arm kinematics library.
Use the logger instead of printing to cout.