fix projections from interval3D to 2Ds in generation

    refactor them, they were on the wrong planes
    use other create_points() depending on how edges of _get_edges() are
    ordered
add squares when generating interval2D as projections

    get the lower than the upper line separarely
    extract the squares from both lines
add copy_2D() to Interval2D when points are Point3D
add 3D visibility