WIP on the Add-on SDK port.  Two issues being addressed here:

  * JSON serialization between content script and add-on script isn't
    working properly.

  * Async interaction with content script isn't working properly.

Neither of these things are fixed yet. This is just a WIP patch.