See my last commit for why we are using a subdir.
I am putting this in a core/ subdirectory, as there is a Python binding that I have my eye on porting too. OK jasper@