Add string type

targets #35 
Here shouldn't be a cast. The cast should be in the cmp() method. I would prefer a static function which simply does the call to `ws_string_cmp()` over this cast!

If you change the interface definition of the `cmp_callback`, this causes the code to compile anyways, but to crash if the callback gets called while running.