add vala bindings; reimplement PackageKit driver in Vala