SkBlitter_RGB16: Add device-specific optimization hooks

Change-Id: I18bf4825669fef6fcc10e5d48271e7ea9abb3ed6
(cherry picked from commit 5d5e3dd98e15a5d25fcddf41f00dc5989942d094)
(cherry picked from commit afbd633b035a8b8f6017f52f6ad398a076aee841)
(cherry picked from commit 814fe785689f0b018283fbc2b02a2d230f0221cb)
Add optimization of Skia S32A_Opaque blitter

Adds optimization of Skia S32A_Opaque_BlitRow32 blitter using ARM NEON
instruction set. Special cases for when alpha is zero or opaque.
Improves performance platform wide.

Change-Id: I0ffeb23b128e61cfe581ad121f227631d2918686
Signed-off-by: Henrik Smiding <henrik.smiding@stericsson.com>
Signed-off-by: Patrik Ryd <patrik.ryd@stericsson.com>

Conflicts:
	Android.mk
Add optimization of Skia S32A_Blend blitter

Adds optimization of Skia S32A_Blend_BlitRow32 blitter using ARM NEON
instruction set. Special cases for when pixel alpha is zero.
Improves performance platform wide.

Change-Id: I6c8bf8a9525838682206ebd139855354d6b3a563
Signed-off-by: Henrik Smiding <henrik.smiding@stericsson.com>
Signed-off-by: Patrik Ryd <patrik.ryd@stericsson.com>

Conflicts:
	Android.mk
Modify sample buffer size for larger displays.

Modifies the intermediate buffer size for sample pixel indexes, used in the
sample proc function calls. If the buffer is not large enough, the job is split
into several calls. This would impact the performance of SIMD optimizations.

Change-Id: I86848d1c44fe338258b40f6ee6a576289cebd496
Signed-off-by: Henrik Smiding <henrik.smiding@stericsson.com>
Signed-off-by: Patrik Ryd <patrik.ryd@stericsson.com>
Add memcpy optimization pass for Skia samplers.

Adds an optimization to skia samplers that is using memcpy to copy the
pixels when the source and destination is the same size, unscaled, and
unfiltered.

Change-Id: I014db353e880cf09f3f0b17bbe7bcd2cc2d43d80
Signed-off-by: Henrik Smiding <henrik.smiding@stericsson.com>
Signed-off-by: Patrik Ryd <patrik.ryd@stericsson.com>