Split out frame management from Page into FrameManager. FrameManager will keep track of page's frames and DOMWorlds.
This patch refactors Puppeteer-Firefox code to declare public API in `/lib/api.js` and use it to setup async stack hooks over the public API method calls.