make sure GeometricEntity args are Basic
make optics/util more robust wrt arg types
Merge pull request #8573 from smichr/geom

Plane: handle normal_vector args like Point3D