Add Travis CI configuration
Update spec to use before_each

Worked with previous versions of Busted, but was wrong anyway.
Add lgi version.lua

An update-sync before building lost this since it's generated during
lgi build. Unclear why this worked locally but not on Travis.
ustring ucompare returns negative and positive, not just -1 and +1
Don't construct app object when compiling bytecode

Since that requires a DISPLAY.
Handle both Glib and Gtk initialization ourselves

If we're only compiling, only initialize Glib. This since we
don't want a full Gtk init due to it requiring a DISPLAY, and
you should be able to compile bytecode without (think build farm).

Otherwise we do a full Gtk init. LGI does Gtk init as well, which
does not work well with older versions of Gtk since we're already
initialized, so disable that.

Having parameter handling both in C and Lua doesn't feel so hot,
so in the future it might be better to pull all of this into C.