Further simplification of doc event handlers.  The initialize method in the base class now handles all standard registration.  Subclasses just need to implement methods named after the event they want to handle (e.g. doc-title -> def doc_title(self, ...)).