Add profile_line to measure package

The profile_line function is currently part of the skimage LineProfile
plugin. However, it's useful in non-interactive contexts, and importing
it from the viewer is awkward, mostly hidden, and depends on PyQt for
no good reason. By moving the function to `skimage.measure`, it is
usable in many more contexts.
Use the new profile_line function from `measure`

Note that the indices were inverted relative to previous use, which I
believe was incorrect. (See example in docstring, which works, where
it used to be inverted.)
Change profile line API to use src and dst points
Update lineprofile plugin to use new API
rename x-y to col-row to be less ambiguous
Update _calc_vert for simplicity
Return 1D array for single channel images
Allow multichannel images with >3 channels
Fix doctest string and output shape
Reparameterize profile_line to avoid the _calc_vert hack
Update interactive lineprofile tool to new API
Simplify parameters even more
Add 'order' kwarg for interpolation in profile_line()
Polish coordinate system

It's important to distinguish between pixels and points. A square set
of points belongs to one pixel. When users type `linewidth=3`, they
usually mean a line 3 pixels wide. The distance between the pixel
center points, then, is 2.
Add numerous (14) tests for profile_line()
Remove unnecessary if clause

The `if linewidth <= 1` was necessary because the coordinate systems
(pixel/point) were all muddled up. Now that it has been clarified,
`linewidth=1` works transparently!
Change default interpolation order to 1
Output line drawing and scan data from plugin
Update docstring according to @stefanv's comments
Merge pull request #865 from jni/profile-line

Move `profile_line()` out of viewer and refactor