Refactoring CellLayout into three classes

- splitting the rendering of children from the CellLayout to enhance performance, gives ~4 fps boost while scrolling on pages full of icons, and no change on pages full of widgets
- this will allow us to add hardware layer support trivially, which will increase performance while scrolling ~6-10 fps
- separated logic for caching celllayouts to bitmaps into a separate class

Change-Id: Ib6abeb19126e1504997b43c2f44af2a2fb3cd39f
diff --git a/src/com/android/launcher2/Launcher.java b/src/com/android/launcher2/Launcher.java
index f381b1f..dabc42a 100644
--- a/src/com/android/launcher2/Launcher.java
+++ b/src/com/android/launcher2/Launcher.java
@@ -1963,7 +1963,7 @@
 
     void closeFolder(Folder folder) {
         folder.getInfo().opened = false;
-        ViewGroup parent = (ViewGroup) folder.getParent();
+        ViewGroup parent = (ViewGroup) folder.getParent().getParent();
         if (parent != null) {
             CellLayout cl = (CellLayout) parent;
             cl.removeViewWithoutMarkingCells(folder);
@@ -2212,7 +2212,7 @@
         }
 
         if (!(v instanceof CellLayout)) {
-            v = (View) v.getParent();
+            v = (View) v.getParent().getParent();
         }