Provide a fallback luaL_setfuncs() for Lua 5.1

The LGI bindings are failing at runtime because of the above missing
function. Added it to compat.c: implementation borrowed from Lua wiki.
Merge pull request #49 from ntd/pr2

Raise an exception if GTK+ initialization fails
When running 'make check', always pick local lgi

This should help when developing lgi and also having older stable lgi
installed in default Lua path.

https://github.com/pavouk/lgi/issues/47
Supporting cairo.Status.to_string API

Giving access to cairo_status_to_string() can be quite handy for error
reporting.

https://github.com/pavouk/lgi/pull/44
Revert "Provide a fallback luaL_setfuncs() for Lua 5.1"

This reverts commit 2d9725e1543e1118714806bce7fa0b77b779affd.
Check http://github.com/pavouk/lgi/pull/51 for details.
Merge branch 'upstream' into devel

Conflicts:
	tests/cairo.lua
Fix compatibility with Gtk+ 2.x: Gdk.RGBA is only available in Gtk+ 3.
Merge pull request #52 from Trundle/master

Small Gtk+ 2 fix: Gdk.RGBA is new in Gtk+ 3
Merge branch 'pr3' into devel

Supersede branch pr3, not needed. Check pull request #51 for details:
http://github.com/pavouk/lgi/pull/51
Merge branch 'upstream' into devel
Use GRecMutex instead of deprecated GStaticRecMutex

Avoids ugly compilation warning.  But we still leave the old codepath
for compiling against ancient glib.
Gtk: gtk-2.0 compatibility hack

Gtk-2.0 exposes internal implementation fields in .gir, and 'child'
field of Gtk.Bin clashes with lgi's own 'child' mechanism.  Moreover,
offsets to fields are calculated incorrectly in .typelib file for 64b
platforms, therefore it results in crash.

Solve everything by just removing 'child' field from Gtk.Bin

https://github.com/pavouk/lgi/issues/58
Ignore is_pointer on uint8 array elements when marshalling

This is workaround for wrong .gir generated for g_bytes_get_data().
Although incorrect in strict sense, fixes the real case, and broken
case is really strange and hypothetical (an array of uint8*).

https://github.com/pavouk/lgi/issues/57
Pango: add workaround for incorrect (transfer full) annotation

Pango.Layout.set_attributes() has incorrectly marked 'attrs' arg as
transfer-full, which caused memory leak.

https://github.com/pavouk/lgi/issues/60
Gio: adapt to API change of InputStream.[read|read_all|read_async]

Upstream added annotation which hide buffer size argument, which
changed API.  Modify sample accordingly, and add compatibility layer
which allows running this API change even on older glib versions
without that annotation.

https://github.com/pavouk/lgi/issues/59
gtkdemo: cosmetic fixes

Make class names in demo descriptions more Lua-like instead of C-like
gtkdemo: fix images loading

Another instance hit by Gio.InputStream[read|read_all|read_async] API change.
Prepare release of 0.7.2
Optimization - speedup of lookup of compound attributes

Remove unused _access_element abstraction, which was never overriden
but its lookup/invocation had quite significant cost.  Speedup of
simple method and property accesses varies between 10% and 20% (of
lgi-introduced overhead).
Optimization - cache attributes lookup

instead of always going through lookup of side category tables, cache
results directly in the type table (which means that lookup is done
automatically by Lua) or in _cached table (when element's category is
significant).  This optimization significantly cuts time needed for
lookup of type attributes.