Actually support C on Linux :-)

I basically just cloned the ObjC stuff and hacked it till it worked. There should of course be a lot more code shared between the C and ObjC versions.

I also added a testsuite. The testsuite can't be built using cabal, but can be built using make. Simply running `make check` will run the Hspec based tests. Of cource you will been to `cabal install hspec`.