update surfaceflinger, libui and libagl to the new gralloc api

- Currently the lock/unlock path is naive and is done for each drawing operation (glDrawElements and glDrawArrays). this should be improved eventually.
- factor all the lock/unlock code in SurfaceBuffer.
- fixed "showupdate" so it works even when we don't have preserving eglSwapBuffers().
- improved the situation with the dirty-region and fixed a problem that caused GL apps to not update.
- make use of LightRefBase() where needed, instead of duplicating its implementation
- add LightRefBase::getStrongCount()
- renamed EGLNativeWindowSurface.cpp to FramebufferNativeWindow.cpp

- disabled copybits test, since it clashes with the new gralloc api

- Camera/Video will be fixed later when we rework the overlay apis
diff --git a/opengl/include/EGL/android_natives.h b/opengl/include/EGL/android_natives.h
index e3c3b86..329705b 100644
--- a/opengl/include/EGL/android_natives.h
+++ b/opengl/include/EGL/android_natives.h
@@ -96,18 +96,6 @@
     /* Some storage reserved for the OEM's driver. */
     intptr_t    oem[4];
         
-    /*
-     * hook called by EGL when the native surface is made current 
-     * (eglMakeCurrent()). This hook can be NULL.
-     */
-    void    (*connect)(struct android_native_window_t* window);
-
-    /*
-     * hook called by EGL when the native surface in not current any-longer.
-     * This hook can be NULL.
-     */
-    void    (*disconnect)(struct android_native_window_t* window);
-
 
     /*
      * Set the swap interval for this surface.
@@ -117,20 +105,10 @@
     int     (*setSwapInterval)(struct android_native_window_t* window,
                 int interval);
     
-
-    /*
-     * FIXME: needs documentation for setSwapRectangle
-     * tentative: rect used during queueBuffer to indicate which part of
-     * the screen needs updating.
-     */
-    int     (*setSwapRectangle)(struct android_native_window_t* window,
-            int left, int top, int width, int height);
-    
-    
     /*
      * hook called by EGL to acquire a buffer. After this call, the buffer
      * is not locked, so its content cannot be modified.
-     * this call may block if no buffers are availlable.
+     * this call may block if no buffers are available.
      * 
      * Returns 0 on success or -errno on error.
      */
@@ -179,7 +157,7 @@
     int stride;
     int format;
     int usage;
-    void* bits;     // non-zero if buffer is mmaped
+    void* bits;     // non-zero if buffer is locked for sw usage
 
     void* reserved[2];