[opentitanlib] Add serialization for num_de types

A few wrapper types exist for deserialization of some string wrapped
numeric types in HJSON config files. This adds the ability to serialize
those types in serde.

Signed-off-by: Jon Flatley <jflat@google.com>
diff --git a/sw/host/opentitantool/src/command/image.rs b/sw/host/opentitantool/src/command/image.rs
index 26b6333..a38d9cb 100644
--- a/sw/host/opentitantool/src/command/image.rs
+++ b/sw/host/opentitantool/src/command/image.rs
@@ -5,6 +5,7 @@
 use anyhow::{ensure, Result};
 use erased_serde::Serialize;
 use std::any::Any;
+use std::convert::TryInto;
 use std::fs::File;
 use std::io::Write;
 use std::path::PathBuf;
@@ -78,7 +79,9 @@
         _context: &dyn Any,
         _transport: &TransportWrapper,
     ) -> Result<Option<Box<dyn Serialize>>> {
-        Ok(None)
+        let image = image::Image::read_from_file(&self.image)?;
+        let manifest_def: ManifestDef = image.borrow_manifest()?.try_into()?;
+        Ok(Some(Box::new(manifest_def)))
     }
 }