Add history feature

This change adds an in-memory storage for emitted log lines organised by
topics. Additionally history is understood by clients now and manifests
in a protocol addition.

Every line is stored in the history which organises the topics into
buckets. Those buckets are fixed-size arrays acting as ring buffers.
Over the `chan HistoryRequest` clients can request the history of a
topic returning lines up to the configured bucket size.

The protocol needs more formalisation and should potentially go into
sub-package for re-use in clients implementations. It could be even more
hardened by moving it into visor itself and share the protocol
definition.