Promise mode [default]:
- rejects on receiving {__ERROR__: message} created by
background.js::onRuntimeMessage
- suppresses chrome.runtime.lastError
by browserAction.setText which lacks a callback param in chrome API
Callback mode:
- enabled by passing a second param
- doesn't suppress chrome.runtime.lastError