WIP: initial reprojection routine

To-do:

* [ ] fix 1-pixel offset in output
* [ ] make code robust to direction of longitudes/latitude (clockwise, anticlockwise), need to test with various CDELT signs
* [ ] re-write in Cython/optimize
* [ ] add tests
* [ ] add flux mode in addition to surface brightness mode
* [ ] properly support different coordinate systems

But to first order, it does appear to be doing the right thing.