Stairwells : implemented logic to detect them, comparing the shape of the
area against the shapes from the STAIRWELL_SHAPES table, including mirroring
and rotation.
Stairwells : updated STAIRWELL object definition, and store all the
detected stairwells into the area.
Connect : logic for handling stairwells, trying each possibility to find
one which works, and using the fallback ones last.
Stairwells : bit more work on build logic, use some debug things to show
where the start and end coordinate are.
Stairwells : the C2 shape was bogus -- removed it.
Stairwells : got some curves working :-)
Stairwells : added E4 and I4 shapes which do a 90 degree curve.
Stairwells : compute proper control point for "straight" stairs (mid point of
start and end), and also handle case where start and end is the same (which
happens with certain shapes).
fixed typo
Moved intersect_lines() code --> util.lua
Utils : fixed bug in geom.bezier_length()
Stairwells : added 'steps' value to each shape, mostly 4 or 6 steps.
Seed class : re-implemented edge_coord() method to work with diagonal seeds.
Stairwell : implemented ability to override the bezier control point of a
particular side of the stairwell.  Use this to fix the 'I1' shape so that
it will not poke outside of the original hallway area.
Stairwells : improve 'E2' shape with a control point override.
Stairwells : E1 and E2 were mirror images -- hence removed one.
Stairwells : improved 'G1' and 'J1' shapes with control points.