Via a `Plugins` subclass of `Peas.Engine`, any object can be exposed to extensions with a function call, adding boilerplate for `Peas.Activatable`. No Midori-specific API is exposed here but properties and signals can be accessed as-is. Any extensions supplying a .plugin file in ~/(snap/midori/current/).local/share/midori/extensions will be picked up and loaded immediately; the ability to enable, disable and configure extensions is beyond the scope of this task.
Override context menu for links, images, videos and selection (#7)
Especially noteworthy items here are search (DuckDuckGo hard-coded for now, just like search from the urlbar) and new private browsing window, other items are being overridden mainly for the sake of a clean implementation.
More consistent handling of Tab.item and Tab.create (#8)
* create normally loads a given request and emits ready_to_show, so we should support this and emulate the same behavior when emitting create.
* a new browser tab should get focus.
* Tab.item should be set in the case of a delayed load.
* tooltips should always be set for the tally.