hIPPYlib: An Extensible Software Framework for Large-Scale Inverse Problems