make recursive block elements work
use special undent rule for recursive block elements
update design doc
refine code and math parsing