Improve desciption of inverse_map and add option to direclty pass coordi...

See https://github.com/scikit-image/scikit-image/issues/1141
Right! Writing out the full path (with the else) made it clear to me what was happening. This is why immutable data is nice — the `inverse_map` in the second `if` could be different from the `inverse_map` in the first if because it can get modified within it!

The lesson I take from this is that `inverse_map` is a little bit too overloaded as an argument. I think "transformation" would be more intuitive (?), and because it can mean so many things, it should be disambiguated very early on, so:

```python
if isinstance(transformation, np.ndarray) and transformation.shape == (3, 3):
        transformation_function = ProjectiveTransform(matrix=transformation)
```

etc. It would need some refactoring (and the flow is more complicated than I'd realised, I'll admit), but I think readability will benefit a lot.

What do you think of my comment below? (adding comments to explain which branch of control corresponds to each possible input type for `inverse_map`.)