* net_http: refactor net_http_new
The goal is to move calls to getaddrinfo() and connect() into
net_http_update(). This will make it possible for them to be replaced
with non-blocking alternatives later.
The net_http calling pattern right now allows callers to create the
http_connection_t, call net_http_new() which creates the http_t from
the http_connection_t, free the http_connection_t, and then start
calling net_http_update(). In order to preserve that, the http_t needs
to copy the values out of the http_connection_t on create. This also
preserves the http_connection_t values instead of freeing them, so the
connection would be able to be used later.
* net_http: implement dns cache
* net_http: separate out address resolution, connect, and request send
* net_http: perform getaddrinfo on separate thread
* net_http: implement basic connection pool
* net_http: refactor receive calls to read faster, do fewer reallocs
* net_http: build fix for platforms without SSL
* net_http: build fix for non-griffin builds
* net_http: build fix for non-threaded platforms
* Less string copies
* Some general cleanups
* Add extra param to runloop_message_queue_push so we can pass size_t
of the message
* Consistent conventions for local variable usage for certain things
Adapt the sanitized pointer handling, discussed at #17196:
Wayland driver specific changes:
- make sure pointer position is always within [-0x7fff,0x7fff]
by using the confined wrapper
- enable lightgun to report -0x8000 if pointer is really offscreen
- remove extra "inside" checks
- report same pointer/lightgun coordinates for all ports
- simplify pointer and lightgun handling
Other changes:
- unify "offscreen" condition through input_driver.c
- slight tuning of pointer conversion in video_driver.c
- update libretro.h with explanation and pointer offscreen value
- small fixes on remote retropad test screen