Plane class

# TODO

- [ ] test coverage
I would follow a geometry-like convention and use caps for planes, so A = plane(...