Added functionality of point to be accepted as tuple. Fixes #7669

@debugger22 please review
Better, just convert the tuple to a point and start the next block with 'if' -- then you don't have to duplicate anything.

```
elif tuple...
    o = Point(*o)
if isinstance(o, Point)...
```