Log context changes

Removes dead code for context logging and adds:
- `lt.objs.context/enqueue`, a function that pushes an item to a queue
  unless the queue has reached its maximum predefined size.
  (Practically, a laxly defined ring buffer.)
- `lt.objs.context/context`, an object that stores a log of context
  changes in the `history` key.
- `lt.objs.context/log`, a behavior that dispatches context changes to
  the history log.

Caveat:
logging relies on debouncing to decide whether subsequent calls amount
to a single context change or multiple ones.
Merge pull request #1368 from ndr-qef/context-logging

Add context logging