Update design doc.
Update templates to use partials more effectively in includes and
preprocessor defines.
Update ffmake Project class to use more partials.