The Narcissus meta-circular JavaScript interpreter