Allow modules to attach metadata in IPython display_data & pyout messages

Fixes #182
(modules can now override display_dict *and* metadata)