add SelfDisplayingFormatter

use it to dispatch `_ipython_display_`

Allows `for_type` registration for self-displaying functions.