Hi Anton,
For the first point, i made an url widget wich tracks extents change on url and go to the extent passed in url on load :
URL widget (extent tracking...)
It would be possible to add a mecanism to parse page links with class "link" and to replace a pattern ({{extent}} for example) with "extent (extent=xmin,ymin,xmax,ymax)".
Therefore, you could add links with dynamic extent param (http:/myurl/anApp/?{{extent}}).
@Robert, would you add to your esearch widget a mecanism to push esearch params in url ? So It would be easier for users to share links.
NB : it could be done with publishData and URL widget (No, i'm not being parochial for a minute 😉 )