Feature http headers

Removes the `referer` and `user_agent` parameters from `http.open()` in favor of a dictionary of headers, allowing plugins to add their own headers if necessary