По второй части вопроса:
Можно написать расширение на С++ и скомпилировать
его в JS/WASM. Разумеется, и писать его нужно согласно доступных API в браузере. То есть, взаимодействие с многими распространенными для С++ нативными модулями будет недоступно, так как для них нет аналогов в браузере
По первой части не дам точного ответа, но:
Пишите под Chrome. В остальных браузерах (Opera, Firefox) можно будет установить через Install Chrome Extensions и Chrome Store Foxified соответственно.
На самом Chrome и Opera работают с расширениями одинаково