Ответ 1
Я думаю, вы не можете подклассифицировать класс С++ в SpiderMonkey/JavaScript и использовать его прозрачно в остальной части вашего кода на С++. Однако вы можете создать класс упаковки в С++, который делегирует свою работу нескольким классам/функциям JavaScript. Если вы сделаете свой С++ класс достаточно настраиваемым, что должно работать для вашей ситуации. Оба вызова кода JavaScript из кода C и C из JavaScript объясняются на странице JSAPI User Guide (я думаю, вы уже это прочитали).