language/core: reduce namespace pollution
language/core: make KernelFunctionInfo private
language/core: add docstrings
doc: add sphinx infrastructure