e-xml: Add C api

Makes it easier to use with C projects (especially those that don't allow C++ code)
If you really want to protect the user from himself you could do something like:
```C
typedef struct {
    void *ptr;
} e_xml_t;
```
and
```C++
...
static_cast<EpiphanyXML*>(xml.ptr)->something();
...
```

... but IMO that is overkill.