That is just beyond retarded.

It appears that mainFrame() must not be called within loadFinished event.
Basically `web.page().mainFrame()` needs to be bound outside an event handler.
Otherwise objects are not bound to window object properly. Things fail with:

    shaman.js:47 => TypeError: 'undefined' is not a function (evaluating 'shamanStorage.read()')

It works if `frame = web.page().mainFrame()` is executed before and `frame` is
used in the handler.

Anyway, turns out loadFinished event is not even needed. Bindings objects to
JavaScript window object can be done just before `web.show()`.

That was a really annoying bug!