add doxyfile, mainpage
some doxygen cleanups to docs
update docs, adjust template parameter names and publicness of some items for better docs