resource-backend: fix a memory leak.
resource-lua: fixed call order, memory freeing.
common: add an explicit transport mode for JSON-based encoding.

Promoted JSON-based encoding to an explicit transport mode of its
own. Taught the stream- and datagram-transports to talk JSON. The
datagram-transport JSON code is untested. The stream-transport has
been minimally exercised.

The websocket transport has not been flipped over to the dedicated
mode yet. It still runs the transport in custom mode for JSON-
based messaging.
common: added json-c/JSON-Glib symbol clash hackaround.

json-c and JSON-Glib have a symbol clash on json_object_get_type.
With the latest JSON transport mode changes, if someone ends up
directly or indirectly including both our transport.h, and hence
our json.h, as well as JSON-Glib, we'll trigger the symbol clash.

As a workaround if we detect that JSON-Glib has already been
included we'll compile with alternative signatures (void *,
instead of mrp_json_t *) and omit including json.h. Also we
let people give us a warning by defining __JSON_GLIB_DANGER__
that they will or might include JSON-Glib, in which case
we also compile with the alternative signatures. Oh boy...
resource-native: enable json-c/JSON-Glib symbol clash hackaround.

resource-api.h is currently the only known location which triggers
the PITA symbol clash. It happens when compiling ico-uxf-homescreen.
It indirectly includes resource-api.h and also uses JSON-Glib for
manipulating JSON objects ending up including both...