Change dependency model (use submodules) Fix a few compatibility bugs for building Improve documentation