MIPS: Support Smi->Double->HeapObject transitions in constructed Arrays.
MIPS: Support Smi->Double->HeapObject transitions in constructed Arrays.

Port r10218 (1f42dff).

Original commit message:

Also several bugs with Smi/double elements handling and make Ensure* routines more flexible.

BUG=
TEST=

Review URL: http://codereview.chromium.org/8894030

git-svn-id: b158db1e4b4ab85d4c9e510fdef4b1e8c614b15b@10282 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

UniversalFuture/moosh,UniversalFuture/moosh,UniversalFuture/moosh,UniversalFuture/moosh