Move GTK+ widgets to a separate library

GTK+ support is optional now, but building API documentation requires GTK+
support to be enabled.
Update .gitignore
Enable C99 or C11 support