memcpy_76(): add support for non-ARM architectures

Before, memcpy_76() assumed ARM instruction set.  Add preprocessor
guards to use generic memcpy() if not on ARM.

Change-Id: Id4d7335332f4086fa33641630f41810b2fe07031
memcpy_76(): fix behavior on non-ARM architectures

The destination is passed as the first argument to memcpy_76() and the
source is passed as the second argument.  As originally written in
commit cb5701e, the first argument was called 'src' (despite being the
destination) and the second was called 'dst' (despite being the
source).  The behavior of the memcpy_76() function was correct despite
the backward variable naming.

Commit ad673c1 reversed the naming of the two arguments to clarify the
semantics of the function but failed to reverse the naming in the ARM
assembly code.  This broke the function's behavior on ARM devices.

Commits a8ce1a0 and f4be52e reversed the argument names again.  This
fixed ARM support, but broke non-ARM architectures (the arguments to
memcpy() in the body of the memcpy_76() function were not also
reversed).

This change swaps the argument names again and swaps the names in the
ARM assembly, restoring correct behavior on non-ARM architectures and
aligning the variable names with the function's semantics.

Change-Id: Iaeb2b84b6696e3eebf29617dfdc41c55e5226776
skia: SkPaint::SkPaint(): don't cast away const

This will help avoid bugs like the one fixed in change-id:
Iaeb2b84b6696e3eebf29617dfdc41c55e5226776.

Change-Id: I892423e18f9927f827393d0ff0c923259e07389c