Add support for custom commands

The library original comes with three commands:

    1. /help
    2. /clear
    3. /quit

But it provides no way to add more commands (without writing a custom
input handler).  This patch makes it possible to create new commands.
First it adds an internal table of defined commands to the console
table itself.  This table maps command names to help messages and
functions that implement that actual logic of each command.

Then we redefine the three commands listed above in terms of this new
console.defineCommand() function.  The default input callback will
search the aforementioned command table, and if it finds one, it
executes that command.

Finally we update the API description in the README.
Merge pull request #1 from ejmr/define-commands

Add support for custom commands