API: should intrinsic_size_in_pixels(&self) return integers?
pub fn intrinsic_size_in_pixels(&self) -> Option<(f64, f64)> {
Seems weird that a pixel size is a float... It would also be good if we can document that w and h are always >=1 so that the caller does not need to check that.