[embedlite-component] Avoid repeating permission request

It might happen that WebView needlessly requests a permission from a user.
For example this happens often when WebView gets focus right after the user
accepts geolocation permission dialog, but her reply hasn't reached WebView yet.

In order to avoid opening a new permission dialog for requests for
the same URL AND of the same type we cache them together under the same key
and trigger a user dialog only once per such key. The requests cached
under the same key are either allowed or canceled alltogether at the same time.