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.
Ah, sorry. Looks like numpy has some different conventions for their different functions, e.g. `np.testing.assert_allclose` has relative and absolute tolerances. Suggestions:

1. Use the kwarg name, `decimal=1`, so that the behavior is clear here; or,
2. Use `assert_allclose` with the absolute error set to just above the expected absolute error (`atol`) for the computed shift.

Thanks!