Refactorings and enhancements

* Replace the stack of dynamic contexts with a "chain"
  (i.e. only the last active dynamic context, with references
  to its previous dynamic context parent).
* Add the concept of context attribute and attribute identifier.
* Allow `with` methods to accept attribute identifiers.
* Rework examples.