Использовать FireBreath: http://www.firebreath.org
Он предназначен для решения именно вашей проблемы; Вы реализуете все когда-то под огнедышащей абстракцией. если вам нужны какие-то функции, которые вам не поддерживаются или вы не знаете, как работать с FireBreath, список разработчиков действительно хорош для быстрого ответа на запросы. И, поскольку он с открытым исходным кодом (но имеет лицензию, поэтому вам не нужно открывать исходный код), вы также можете вносить изменения самостоятельно.
Все, что написано с использованием Firebreath, будет работать в IE, Firefox, Chrome, Safari и, возможно, в Opera (Opera не на 100% правильно реализует NPAPI; с небольшой работой вы можете сделать все это совместимым).