Plane class

# TODO

- [ ] test coverage
Just project the line onto the plane and use that, I think.