[docs] Add Sphinx-based documentation (not built by default)

Initial work on documenting the module and also added some comments (in the documentation) how we should probably sanitize the API as starting point for discussion.
@matthewvogt chose that I think.  Ignoring the case of the first character as an alternative is fine with me.