Support inferences with multiple inputs and outputs

Build flatbuffers library.

Update network class to extract IFM and OFM dimensions from the tflite
file.

Update the uapi and core apis to support up to 16 IFM and OFM buffers
per inference.

Change-Id: I2f2f177aa4c2d5f9f50f23eb33c44e01ec2cbe09
diff --git a/kernel/ethosu_inference.h b/kernel/ethosu_inference.h
index b42f5ca..c0d8461 100644
--- a/kernel/ethosu_inference.h
+++ b/kernel/ethosu_inference.h
@@ -59,8 +59,10 @@
 	struct file             *file;
 	struct kref             kref;
 	wait_queue_head_t       waitq;
-	struct ethosu_buffer    *ifm;
-	struct ethosu_buffer    *ofm;
+	uint32_t                ifm_count;
+	struct ethosu_buffer    *ifm[ETHOSU_FD_MAX];
+	uint32_t                ofm_count;
+	struct ethosu_buffer    *ofm[ETHOSU_FD_MAX];
 	struct ethosu_network   *net;
 	bool                    pending;
 	enum ethosu_uapi_status status;