Account malloc mmaped pages as native heap.

Currently when malloc uses a page rather than brk the heap gets accounted as
ashmem memory. Previously the memory would be accounted as unknown but since
[1] it gets accounted as ashmem. This change makes the accounting see this
memory as being native, ie the same kind of memory we associate with brk.

[1] https://android-review.googlesource.com/#/c/49583/3

Change-Id: I6f496cfeb590268d41d8e047b12cd5c90359e2b0
GC triggering performance optimizations

Copy the correct starting heap size at process init.
Interfaces to set GC/managed heap parameters.

Change-Id: I0154d1523c3cfdb1214ed0315193cbb24704351f
core/jni/android/graphics: Cache copy of pre-scaled Bitmaps

Caching some pre-scaled Bitmap objects allows for optimizing later
scaling operations to reduce memory pressure.

CRs-fixed: 451681

Change-Id: Id4341e75911074ff9f565b2d386ccad8f3a223e8