Lots of changes to support localization

cc @eickenberg. API needs a close look - if the internals need cleaning I am going to do a second PR for cleaning up examples, and probably adding a wordnet hierarchy matcher (matching dog and cat is tricky). 
Well it takes in a 4D array so it felt like a "feature extractor" more than anything, especially since fit is just a passthrough