Improve optics API
Basically this MR rework part of the optic to be provide an optic as a black box. This is mandatory to allow to provide widget on top of such device.
- Fix unit tests
- Cleaner inheritance from
BaseOptic
- Features
move_magnification
(to use optics as an axis) - Features
available_magnifications
(to provide generic information to the UI) - Features
state
(mainly to catchMOVING
state) - Update
triplemic
optics to handle selection motor event