improve directive `@`
decouple kaj()

add `kaj.lex` and `kaj.render`