Построение хоста NPAPI нетривиально; если вы действительно хотите сделать это самостоятельно с нуля, лучше всего было бы посмотреть на источник Gecko, WebKit и / или Chromium и повторно использовать все, что вы можете оттуда (если исходная лицензия вашего приложения делает это возможным).
Кроме этого, Документация Mozilla по NPAPI является лучшим источником вместе со списком принятых расширений NPAPI для более свежих изменений (поскольку вы упомянули Mac, вам понадобится читать и понимать, по крайней мере, Какао, Core Graphics, Core Animation и предложения для переговоров). Просто помните, что многое из того, как работает NPAPI, является де-факто стандартом, основанным на том, что делают другие браузеры, поэтому одной документации будет недостаточно.
Вы упомянули в комментарии, что не хотите использовать WebKit из-за «проблемы безопасности» - если вы знаете о проблеме безопасности в WebKit, почему бы не исправить ее, вместо того чтобы создавать действительно сложную систему с нуля? Это очень, очень маловероятно, что если вы сделаете реализацию NPAPI-хоста с нуля, вы в конечном итоге допустите меньше ошибок безопасности, чем существует в зрелой реализации, которая была протестирована, отлажена и улучшена в течение количество лет.