dh-book-manager: use G_DEFINE_TYPE_WITH_PRIVATE