This finds bookmarks by querying the browser which is a lot less fragile than poking the browser's database files manually.
Results are also a lot more sensible
One major disadvantage I just now realized is that when the browser isn't running it won't work :/
The DBus API was quite straight-forward to work with, perhaps "subtext" could be part of the struct, but then, usually you also have urls, and then you add a gazillion properties to the struct? I think we could have the xml and structs be installed by krunner somehow, so we don't end up with copies all over the place
Not really worth it given it cannot work when the browser isn't running (main usecase for using it) and if we add a caching mechanism we're basically doing the same as the old bookmarks runner. Also, the runner is now (will shortly be) out of process so the Qt Sqlite stuff shouldn't have that big of a crashy impact anymore.