Added doxygen (closes #21) and modified graphics impls to better support documentation