A templated C++ library for manipulating pose data through dual quaternions