Implementation of event loop abstraction.

This patch adds "android/looper.h" which provides an

abstraction for event loops:
 - android/looper-qemu.c implements it on top of the QEMU main event loop.
 - android/looper-generic.c implements it on top of an IoLooper object.

The main idea is to move the UI-related code to use the abstraction
to handle timers and asynchronous (network) i/o.

NOTE: Code compiles but has not been heavily tested.

Change-Id: Ib6820c1b9a9950dc22449a332bc1b066a07af203
diff --git a/android/utils/vector.h b/android/utils/vector.h
index e591055..c576ec7 100644
--- a/android/utils/vector.h
+++ b/android/utils/vector.h
@@ -44,6 +44,11 @@
         (obj)->max_##name = 0; \
     } while (0)
 
+#define  AVECTOR_CLEAR(obj,name) \
+    do { \
+        (obj)->num_##name = 0; \
+    } while (0)
+
 #define  AVECTOR_AT(obj,name,index)  \
     (&(obj)->name[(index)])