Allow LineStrings to take arrays of Points

This allows LineStrings to be created using Point objects, not just tuples. Currently this would raise `ValueError`:
```
p0 = Point(x,y)
p1 = translate(p0, xoff, yoff)
line = LineString([p0, p1])
```

The commit allows mixing of Points and coordinate tuples as well:
`LineString([Point(1,2), (3,4), Point(5,6)])`

If you're okay with this and the approach, I can make sure it works for the other geometry types too.