i2c: Implement read function

Implement I2CDevice::read() by invoking i2c_smbus_read_xxx() APIs.
The code is referenced from i2c-tools' i2cget.c:

 https://github.com/ev3dev/i2c-tools/blob/ev3dev-stretch/tools/i2cget.c

Tested: Verify on Witherspoon that it reads the PSU ppgrade mode status
        register (1 byte) and CRC16 register (2 bytes) correctly.

Signed-off-by: Lei YU <mine260309@gmail.com>
Change-Id: I8759b6a35229f81120acf77f08429f7f79458b8b
diff --git a/tools/i2c/meson.build b/tools/i2c/meson.build
index 258ac77..71a5aab 100644
--- a/tools/i2c/meson.build
+++ b/tools/i2c/meson.build
@@ -5,3 +5,7 @@
 )
 
 libi2c_inc = include_directories('.')
+libi2c_dep = declare_dependency(
+    link_with: libi2c_dev,
+    include_directories : libi2c_inc,
+    link_args : '-li2c')