support setting a doctype
evaluate function at runtime if no macro matches
add some built-ins
fix test case
0.0.8