Add pxfetcher modules without deleting existing imgloader code

As requested by @mr-archano @blundell @xrigau, a less diff-ful version of the previous PR (aka, the original imageloader modules still exist, I just changed a bit to make it compile with this version of gradle android plugin).

This adds the code we used in our latest project - a wrapper of sorts around the original imageloader. There are four modules now:

- core (as before)
- demo (as before, still works)
- pxfetcher (the new core library, has dependency on core)
- pxfetcher-demo (the new demo, has dependency on pxfetcher)
That means this interface will become:
```java
public interface FileNameFactory {
    String getFileName(Metadata metadata);
    Metadata extractMetadata(String fileName); // not sure about this
    boolean hasMetadata(String file);
    String getCacheDirectory();
}
```