Improve docs, add utility functions.
Switch point structure to std::vector.