Add bindings, export macros; remove QObject inheritance from providers