Improve init system

Generate init.c at build time using a custom CMake target and a new Python
script - initgen.py. Also move entries in a.list to init.list so that all
modules are in in one file.
GDK4 -> GDK