Continue sly-button refactoring, most of inspector done

Probably buggy though, and `sly-button-define-part-action' could help
much further.

* sly-buttons.el (sly-part-button-keymap): Add
`sly-button-pretty-print' and `sly-button-show-source'
(sly-button--popup-option-name): Return just name.
(sly-button--popup-part-menu-options, sly-button-popup-part-menu):
Watch for `sly-button-not-implemented' when building menu.
(sly-button-define-part-action): New macro.
(sly-button-inspect, sly-button-describe): Defined with calls to
new macro.

* sly.el (sly-inspector-part): New button type and constructor function.
(sly-inspector-insert-ispec-function): Remove this indirection.
(sly-inspector-insert-ispec, sly-open-inspector): Use
sly-inspector-part.
(sly-inspector-insert-chunk): Don't use `sly-inspector-insert-ispec-function'
(sly-inspector-operate-on-point, sly-inspector-property-at-point):
Don't use `sly-part-number'
(sly-find-inspectable-object)
(sly-inspector-next-inspectable-object)
(sly-inspector-previous-inspectable-object)
(sly-inspector-pprint, sly-inspector-show-source): Remove.

* contrib/sly-mrepl.el (sly-mrepl): Insinuate into inspector using
`button-type-put'.
(sly-button-copy-to-REPL): Defined with
`sly-button-define-part-action'.
(sly-inspector-copy-down-to-repl)
(sly-trace-dialog-copy-down-to-repl): Simplify.

* contrib/sly-trace-dialog.el (sly-trace-dialog-mode-map): Use
`backward-button' and `forward-button'.
(sly-trace-dialog--detail-mode-map): No remaps needed.
(sly-trace-dialog-part): Skip trace parts buttons.
(sly-trace-dialog-next-button, sly-trace-dialog-prev-button): Remove.