Initial intersections code

Still needs a lot of work but it's a start.
Little things.
Add new Measure.

Note that adjusting the diagram no longers converts measures to output. This still needs to be worked out.
Add Diagrams.Measure.
More changes for the new measure.
More fixes for the new measure.
Work in progress
Move TwoD.Transform.ScaleInv to Diagrams.Transform.ScaleInv.
Update for HashMap style.
Start of linear map module.
Move measured attributes to Diagrams.Attributes.
A few fixes.
Fix Typeable instance and add Generic/Hashable for SizeSpec..
Add RankNTypes for Typeable instance.
Add ScopedTypeVariables.
Generalise Deformable to work between spaces.
Remove Datafloat.
Fixes for new size spec.
Some change to Intersections.

Still not ready.
Generalise Deform to work between spaces.