Sphinx API doc auto generation

Add API doc auto generation and some neat additional doc features