Add support for inverse kinematics, refactor documentation, and change the file-naming convention

Add support for inverse kinematics using cyclic coordinate descent. Move API reference documentation files to `docs/api-reference` and start a manual in `docs/manual`. Change the file-naming convention to all lowercase with words separated by hyphens.