Add error support

Some of our API functions will need to "raise" errors.

GLib provides the nice GError stuff, so let's use that.

This commit also introduces a first error value, which we are about to
use very shortly.
Implement the get_radical function

This brings the function back from the previous libcangjie.

One major change is that the function now returns the radical, instead
of setting it as a pointer parameter.

The error handling is now done through GError, rather than by returning
an integer error code, as that maps automatically to native exceptions
in higher-level languages (e.g Python) thanks to GObject-Introspection.
Test the get_radical function