subpixel shift registration addition

For the sake of keeping a more readily accessibly reference to this controversial addition, here's a PR.

Discussion has thus far been at:
https://groups.google.com/forum/#!topic/scikit-image/fDbdOgHgolI

This PR should not be merged until licensing issues discussed in that email thread have been addressed.
`shifts -= np.array(midpoints)`? In fact, maybe cast as array where `midpoints` is defined above, and then it just becomes `shifts -= midpoints`, which is very nice. =)