WIP: Add spherical mirrors

Add basic structure of mirrors
Is there any distinction on `SphericalMirror` that shouldn't be in `Mirror`?