pandapub: classes for integrating pandapub into the browser

test plan:
 * This commit introduces some unused new classes, there's not a great
   way to manually test them.

Change-Id: I266b777480fc00085357e775d040be60f61c2e35
Reviewed-on: https://gerrit.instructure.com/40321
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jacob Fugal <jacob@instructure.com>
Product-Review: Zach Wily <zach@instructure.com>
QA-Review: Zach Wily <zach@instructure.com>