move observable_from_lua into a new header
check package version in require()
expose "async" module with functions await_one and constant