Document a handler to use for drawing characters

This patch documents what will be a handler for rendering characters,
i.e. a hook into the Character:draw() method.  It describes the
handler function and its argument, and what the engine expects the
function to do.  We also take this time to shuffle around some
documentation about handlers that have ‘nil’ values and why we must
use those to defer the assignment of actual default handlers until
later in the module loading process.
Implement the code for the default character handler

This commit adds the code for the handler that the previous commit
describes.  All we do is take the existing Character:draw() method and
rename it, assign that as the default handler, and then rewrite
Character:draw() to invoke that handler.  This provides the necessary
gap in the system for game developers to hook in their own behavior
and process for rendering characters if they wish.
Merge branch 'ejmr/character-handlers'

* ejmr/character-handlers:
  Implement the code for the default character handler
  Document a handler to use for drawing characters