Add support of extend and block in EJS

Add features of extend and block, which could support 
(1) multilayer inheritance, fully support layout in EJS.
(2) Also could work with include. 
The examples and test has also been add!