Groundwork for dense correspondence pipeline

This PR contains general improvements and additions to Menpo that are needed for the correspondence pipeline that will be a follow-up PR.

I've decided to split the work as everything presented here is general and useful outside of the scope of the correspondence framework. It should be straightforward to review all this code in isolation and once we are happy it can be brought in.

The correspondence PR actually won't be very large - this really contains the necessary tooling - all the correspondence package will do is string it all together in an easy to use way.


I had this argument with @jabooth already haha. He makes a good point that in the case of rasterization, this is necessary, and it allows him to build a single transform that performs his whole pipeline, which is pretty cool!