D.Points: get rid of Control.Newtype
change Path projection function to a lens iso
D.TwoD.Arrow: calculate shaftScale directly instead of searching
GetSegment wrapper with Parametric and EndValues instances

For extracting individual segments from trails by parameter.  This
commit only includes instances for lines, need to add loops and
trails.
D.Trail: Parametric and EndValues instances for GetSegments on loops and tails
D.Trail: document semantics of Parametric GetSegment at segment junction
AdditiveGroup instances for Angle types
Remove Angle constraint on Spherical type

avoid Datatype Context
New Camera type & CameraLens class; perspective & orthographic instances
Add types PointLight, ParallelLight

PointLight represents a spherically symmetric light source
ParallelLight represents parallel light rays covering the entire scene
Export Camera and Light modules
Directions do not form an AdditiveGroup
Merge pull request #114 from diagrams/threeD-render

Three d render
removed shaftWidth, now use shaftStyle = lw ..., and added connectOutside
Use point envelope (@ origin) for text objects instead of empty.

Fixes #115.
Fixes #116.

NOTE: make sure we update documentation to match/explain this more carefully.
D.Trail: add reparameterization iso to result of Parametric GetSegment
new module D.Tangent: computing tangent + normal vectors
Merge branch 'master' into arrows
D.TwoD.Arrowheads: some documentation + warning cleanup
travis: turn on Haddock builds