After this fix, cam.width will remain unchanged when zooming is performed.
This PR does not affect plane-parallel-lens, since only width and width will take effect of plane-parallel-lens.
For perspective-lens, width defines the open angle of the camera, while adding a factor to all three components of width does not change the open angle at all. So keep width unchanged and change width and width will make zooming work properly.
For spherical-lens, this PR prevents a potential bug, since there's no zooming option for spherical-lens, and changing width for spherical-lens will incorrectly alter the length of rays. In addition, spherical-lens does not make use of width and width, thus this PR is also safe for spherical-lens.