For documentation you might look at (
Doxygen) which generates HTML from specailly formatted comments in source code and is flexible enough to be tweaked in all sorts of ways to present the information you need, including APIs, call-trees, annotations and the source code itself as browsable HTML. This is strictly a one-way operation though: the documentation is derived from the code, and not the other way around. In fact I don't know of any system which satisfies your third requirement.