add a simple JS-based hook host
add missing pluginhost source