libsparse: make API sane

Replaces the libsparse API with a sane one based on an opaque
pointer.

Change-Id: I93bc9cf9a6b912a993ef554dbe6ffe2f0f723383
diff --git a/ext4_utils/extent.c b/ext4_utils/extent.c
index 905a378..948bf41 100644
--- a/ext4_utils/extent.c
+++ b/ext4_utils/extent.c
@@ -43,7 +43,7 @@
 
 		len = min(region_len * info.block_size, backing_len);
 
-		queue_data_block(ptr, len, region_block);
+		sparse_file_add_data(info.sparse_file, ptr, len, region_block);
 		ptr += len;
 		backing_len -= len;
 	}
@@ -65,7 +65,8 @@
 
 		len = min(region_len * info.block_size, backing_len);
 
-		queue_data_file(filename, offset, len, region_block);
+		sparse_file_add_file(info.sparse_file, filename, offset, len,
+				region_block);
 		offset += len;
 		backing_len -= len;
 	}
@@ -124,7 +125,8 @@
 		if (!data)
 			critical_error_errno("calloc");
 
-		queue_data_block(data, info.block_size, extent_block);
+		sparse_file_add_data(info.sparse_file, data, info.block_size,
+				extent_block);
 
 		if (((int)(info.block_size - sizeof(struct ext4_extent_header) /
 				sizeof(struct ext4_extent))) < allocation_len) {