Clipping performance improvements

Create a ClipArea class to handle tracking clip regions. This class can
select the most efficient implementation depending on the types of
clipping presented.

ClipArea re-used the rectangle and region-based clipping
implementations as well as adding a "list of rotated rectangles"
approach that is more efficient for rotated views with children.

Change-Id: I2133761a2462ebc0852b394220e265974b3086f0
diff --git a/libs/hwui/Android.common.mk b/libs/hwui/Android.common.mk
index fba7254..b044e02 100644
--- a/libs/hwui/Android.common.mk
+++ b/libs/hwui/Android.common.mk
@@ -18,6 +18,7 @@
     AssetAtlas.cpp \
     Caches.cpp \
     CanvasState.cpp \
+    ClipArea.cpp \
     DamageAccumulator.cpp \
     DisplayList.cpp \
     DeferredDisplayList.cpp \