WIP: cleanup of output functions

This is a branch for a cleanup along the lines of #7959:

- [x] `MIME` types should be a `{Symbol,Any}` dictionary of properties
- [ ] Rename `writemime(io, mime, x)` to `write(io, mime, x)` — the deprecation process may be tricky here
- [ ] Replace `showall`, `showcompact` etcetera with a numeric `detail` property of the MIME types, probably with a `detail(mime)` convenience accessor, describing an ordered sequence of details (`0=summary`, `1=pretty, truncated`, `2=pretty, untruncated`, `3=parseable`, ...)
- [ ] Deprecate `show` in favor of `write`.   (`print` is just `write` to `text/plain`).
- [ ] Decide on any other properties (e.g. floating-point precision) that we want to standardize/document.

cc: @jiahao, @ivarne, @StefanKarpinski, @JeffBezanson