Fix covers statement.
Convert term storage to a vector.

While keeping these dependency-free would be nice, I can't see how to
resolve the issue of duplicated code if I repeated it all here.
Add missing @api tag.
Convert the constructor to take a vector instead of terms.

It's better to rely on dependency injection for external dependencies,
so this removes the `new` from things.
Add a static createFromTerms method to help create a point.

Sometimes, a user doesn't want to do full DI, so this provides a simple
way for users to create the point without having to bother creating a
vector first.