Important new features, mostly related to compound lenses (i.e. Doublets from vendors for instance).
1. `Material` has a `findByName` method that can help find a material by name or `findByIndex` to find a material with the appropriate index within a certain tolerance. Documentation explains how you can include your own materials and they will be included in the search.
2. All achromats now also include a new function called `showChromaticAberrations`. If you write:
from raytracing import *
thorlabs.AC254_100_A().showChromaticAberrations()
wavelengths, shifts = thorlabs.AC254_100_A().focalShifts()
you get the graph of the focal shift or you can get the values directly. They reproduce the Thorlabs graphs perfectly.
3. A new class called `ZMXReader` to read a ZMX file and get the lens from it. it has been tested with files from Thorlabs and Edmund, and they match the implemented classes. It can return a `MatrixGroup` that you can use as a element in an `ImagingPath` for instance. Some work will be done soon to integrate this knowledge better, validate lenses, etc...
4. The ZMXReader can actually list the lens "prescription" in text so you can see what it is without necessariy using `raytracing`.
5. Any `Material` class derived by the user is included in the `findBy` functions, therefore the ZMXReader will make use of your material to build the lens. If a material is missing, you can add it to your script and it will be considered. See ["README Adding New Materials"](https://github.com/DCC-Lab/RayTracing/blob/master/README-Adding-new-materials.md)