I host a similar competition at my university. We offer client binding for C++, Java, and Python. We have a C core that provides the game engine, and use code generation to generate the language specific APIs.
We used templates to create the game stuff. Unfortunately, it's not quite a stand-alone library, but hopefully someone else can use it.