Get rid of C code.

The part that was written in C was the debug output using GL_KHR_debug. I wrote
the debug output in Haskell; however the new implementation is slightly
inferior to the old one in that debug messages are only seen when calling
`flushPendingFinalizers`.

On the other hand, this should make compiling on Windows slightly less painful
now that we don't use POSIX threads (the C code used pthreads).