worker mode support
render backend rewriten in javascript