JS update

I am sorry for breaking the tests, but the spinner is one tough enemy :)

* figured out the proper spinner detection (lightbox zoomed widget had made spinner_div to appear visible although it was not)
* moved whole spinner detection into JavaScript (faster)
* added "library file" that we can put our JS shortcuts in to not pollute python source.
* slight code cleanup (always use module's `execute_script`)
* fixed widget's footer getter (did not properly react on `Never` state)
If we need this for the entire web_ui to work, I'd prefer it failed quickly. I think library should be declared in the module scope, and preferably have a more descriptive name (`js_lib` or something?)