base: Implement base64 encoding of binary data

This is a surprising omission from the ArrayBuffer and typed array
work. Very odd.

Implementation is a polyfill from MDN, and fixed up.

https://developer.mozilla.org/en-US/docs/Web/API/WindowBase64/Base64_encoding_and_decoding

Our implementation works with binary data in Array, Uint8Array or
Strings.

Reviewed-by: Marius Vollmer <marius.vollmer@redhat.com>
base: Implement UTF8 encoding and decoding

We would like to use this with Arrays and not just strings like
decodeURIComponent() do. In addition we would like to stream and
possibly ignore encoding errors. In some browsers TextEncoder
and TextDecoder do some of this, but none of the solutions do
exactly what we need.

Reviewed-by: Marius Vollmer <marius.vollmer@redhat.com>
docker: A new package for docker stuff

Reviewed-by: Marius Vollmer <marius.vollmer@redhat.com>
base: More general name for console CSS styles

Reviewed-by: Marius Vollmer <marius.vollmer@redhat.com>
shell: Give AMD interim module loading its own global

If we hang these off of the shell global, then they start to
conflict with things that are already there.

Reviewed-by: Marius Vollmer <marius.vollmer@redhat.com>
docker: Add component that shows docker logs or console

And use this component in our main docker container details pages.
In addition document it for use outside of Cockpit.

Closes #1364
Reviewed-by: Marius Vollmer <marius.vollmer@redhat.com>