Added setting aperature stop and fixed highlighiting active surface.
Got it using DataModel for ray tracing.
Entrance and exit pupil info agrees for a simple paraxial case (below) but not for a fancy case.
surfaces=[ParaxialSurface(inf),ParaxialSurface(50),ParaxialSurface(10,f=60.),ParaxialSurface(50,semidiam=5.)];sys=System(surfaces, apertureStop=surfaces[3])
print sys.paraxialEPPosAndSemidiam()
print sys.paraxialXPPosAndSemidiam()
DIAM is actually semidiameter(!)
Added __str__ to Surface classes.
Added Ray shortcut function to easily construct a Rays with just one ray.
Merge pull request #4 from BenFrantzDale/DataModel

Data model