Move Opaque and Trivial marker types under a ::kind module

In the interest of keeping the root module focused on the most widely
used items only.
diff --git a/macro/src/expand.rs b/macro/src/expand.rs
index 9c8a117..fb011d5 100644
--- a/macro/src/expand.rs
+++ b/macro/src/expand.rs
@@ -183,7 +183,7 @@
 
         unsafe impl ::cxx::ExternType for #ident {
             type Id = #type_id;
-            type Kind = ::cxx::Opaque;
+            type Kind = ::cxx::kind::Opaque;
         }
     }
 }
@@ -692,7 +692,7 @@
     let end = quote_spanned!(end_span=> >);
 
     quote! {
-        const _: fn() = #begin #ident, ::cxx::Trivial #end;
+        const _: fn() = #begin #ident, ::cxx::kind::Trivial #end;
     }
 }