Add dependency on pygobject C API and add a dlopen hack to make it work

- add dependency on pygobject-3.0
- add a hack to move libpython to global symbol table before loading
  modules (some python modules like gi._gi (pygobject) don't have explicit
  dependency on libpython and won't work w/o it being in global symbol
  table)
- add a config option in CMakeLists to enable/disable the workaround above,
  it's disabled by default
Also:
- simplify loading of our python module in init_python()
- in emerald.py put some variable declarations in more appropriate place
  in the file
Initial implementation of wrapping of decor_t

Wrap decor_t with namedtuple or structseq (choose by
#define USE_PY_STRUCTSEQ , due to bug in python structseq will cause
crashes).

Wrap all members of decor_t except for structures that can't be wrapped by
pygobject nor pycairo, and except for the draw function pointer, which we
will not wrap.

Pass the wrapped decor_t to the python side and print it to stdout just to
see if it works.
Wrap all structures that live in decor_t

except frame_settings has a window_settings member, which we don't wrap yet