Refactor on language trait classes and template tests

Well, we are preparing on breaking changes -- yeah, the 2.0.

I have prepared this change since I wrote the python feature, but finally I managed to work on it along with your rewritings on template stuffs. This PR includes:

* Fixing some failing tests or re-naming (see my previous comment on the branch)
* Refactor language trait hierarchies. (e.g. python isn't a c-style language, is it?) see dfdf61d.
* Refactor test cases on template engines.

Please, **Do NOT merge this directly** into your `tmpl-seq` branch, because it doesn't make sense regarding branch namings or semantics. This is just for a review. The base branch should be the latest work of rewritings, but after your job is finished or getting some feedbacks, I am willing to *rebase* these commits on master.