add OPDS support

This PR implements a simple OPDS browser requested in #275.