http client

* HTTP client is extracted from BrowserTab;
* redirections handling is fixed for requests with baseurl;
* reply handling is improved when baseurl is used.

This paved a road for doing raw HTTP requests from Lua scripts, e.g. to load external JS code without injecting `<script>` tags.