Added support for uint8 array as return type
check if object is abstract before construction - thanks to Ryan Lortie
add backtrace stack to the exception string
fix binding GStrv to javascript value

libseed crashes when converting a GStrv to a javascript value. It happens when
the javascript code connects to the "g-properties-changed" GLib signal on
GDBusProxy objects.

https://bugzilla.gnome.org/show_bug.cgi?id=693217
SeedEngine: add missing pthread_key_create

libseed has 6 different init functions; some of them are calling
pthread_key_create() correctly, but some don't. This patch factorizes the call
to pthread_key_create() so it is correctly called whatever the init function
used.

The bug was found when testing seed_init_with_context_and_group(). Symptoms:
when creating a GObject, memory corruption and segfault in
thread_memory_swap_magazines().
seed_init_with_context: reuse existing context group

When initializing seed with an existing context, reuse its context group rather
than creating a new one. Contexts always exist inside a context group.

Seed creates a temporary context when importing modules (from GObject
introspection or otherwise) and passes variables between the contexts. Contexts
must be in the same context group, otherwise the behaviour is undefined.

This fixes a crash when creating a new GObject from the javascript code.
Add a GLib namespace extension providing comodities for conversion from/to GVariant.

Add Variant.toJSON and Object.toVariant method.
Uses json-glib parsing facilities if present, fallbacks to javascript code
imported from Gjs otherwise.

https://bugzilla.gnome.org/show_bug.cgi?id=657699
add seed_importer_add_search_path()

https://bugzilla.gnome.org/show_bug.cgi?id=692794
implement hashtables conversion between js and gi values

Based on initial patch from Gustavo Noronha <gns@gnome.org>

https://bugzilla.gnome.org/show_bug.cgi?id=618454
part fix to bug #694458 - first step to getting make check working - passes most tests, just need to add fix module lookup path
Append user data to the new arguments array, not the source one

This code was previously adding a new item to the passed in array
instead of appending it to the newly created array, causing a buffer
overflow that sometimes ends in stack corruption and a crash.

https://bugzilla.gnome.org/show_bug.cgi?id=695876
Remove duplicated code, call function instead

seed_closure_invoke was a copy of seed_closure_invoke_with_context
with just 2 additional statements before and 1 after the same
code. This is bad because fixes need to be applied to both, a great
oportunity for code reuse.
seed_prepare_global_context: don't include Seed.js if not needed

https://bugzilla.gnome.org/show_bug.cgi?id=696547
support signals with annotated types

https://bugzilla.gnome.org/show_bug.cgi?id=695857
Adding ondemand for reference -

Standard seed loads all properties into the namespace when you reference it, this patch file changes the behaviour so a fake namespace object
is created, then when you request properties, the objects are created (eg. ctors/classes/enums etc..)

The net effect of this is a shared memory reduction of around 20M when using a few key namespaces (eg. Gtk ... etc..)

Still not close to gjs memory but a small improvement..
Seed 3.8
Post-release version bump
Add Alan to maintainers
Add a missing file to extensions' EXTRA_DIST
Post-release version bump.