Cleanup.

- Fix style (pointers, spaces in method header).
- Use constData() instead of data().
- Detect backend on first use only, then stick to it.
Fix schema.

Somehow, dynamically linking schema does not work consistently.
Use service name as description.