SkDraw::drawRect optimization

New class in SkDeviceLooper.cpp falls in in the critical code path of
SkDraw::drawRect().  This new class SkDeviceLooper does nothing except
for bound checking. It copies the modified rect bounds into new pointer
variables and returns them back "if needed". The additional overhead of
creating an object of SkDeviceLooper class and calling member functions
reduces performance.  This patch creates a pre-check condition and if
it succeeds we know for sure SkDeviceLooper won't change the rect
bounds. Under this condition, we avoid using the SkDeviceLooper class.

Change-Id: I11fa13ace8d50d52069e1780a14874e4c34133f2
NEON optimized blitter S32_Opaque_D32_filter_DX

Re-work for latest code base as the -Os compiler options is added.
Overwrite the optimization level at function level.

Change-Id: I732fea7f02f775a4b06884460dea2887d4108820
Add shader for Clamp_S32_Opaque_D32_filter_DX.

Adds a NEON optimized shader for S32_Opaque_D32_filter_DX when
running with clamped tile mode.
Improves performance of browser and many other applications.

Change-Id: Ic3d83bfd70c8b0c6c956482db5f3a08667655d6e
Signed-off-by: Henrik Smiding <henrik.smiding@stericsson.com>
Signed-off-by: Patrik Ryd <patrik.ryd@stericsson.com>
Merge changes I732fea7f,I11fa13ac into lp5.0

* changes:
  NEON optimized blitter S32_Opaque_D32_filter_DX
  SkDraw::drawRect optimization
Merge "Add shader for Clamp_S32_Opaque_D32_filter_DX." into lp5.0