add SelfDisplayingFormatter

use it to dispatch `_ipython_display_`

Allows `for_type` registration for self-displaying functions.
s/SelfDisplaying/IPythonDisplay/
test IPythonDisplayFormatter
Merge pull request #6919 from minrk/self-display

add IPythonDisplayFormatter