cjwasm WebAssembly interpreter zero dependencies single header fast to assemble fast to interpret non allocating host controls all allocations