Rework documentation building to work with extra modules

The main problem with extra modules is that they're located outside of the OpenCV root, while Sphinx requires that all documents are within the documentation root. To circumvent this, we create a "fake root" and copy all documentation (as well as all files that it depends on) there. It's a bit messy, but what can you do.

As a bonus, this eliminates the need to generate `modules/refman.rst` inside the source tree.