Custom objects and their rendering in IPython