Templatise type representation

This is to support both heap- and zone-allocated types in the future (the latter not yet implemented).

Also, handlify the type API some more.

R=titzer@chromium.org
BUG=

Review URL: https://codereview.chromium.org/107933005

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@18521 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Fix Mac warnings

R=mstarzinger@chromium.org
BUG=

Review URL: https://codereview.chromium.org/132263002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@18522 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
MIPS: Implement sqrt in inline assembly.

Port r18506 (c7b2885)

Original commit message:
Call VSQRT directly to avoid the tiniest (1ulp) precision
error that occurs in the system-supplied sqrt on QNX/ARM.

All precision tests in SunSpider are now passing on this platform.

BUG=
R=plind44@gmail.com

Review URL: https://codereview.chromium.org/131263003

Patch from Balazs Kilvady <kilvadyb@homejinni.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@18523 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
[Sheriff] Revert "Templatise type representation" and "Fix Mac warnings".

This reverts commit r18521 and r18522 for breaking mac and win builders.

BUG=
TBR=rossberg@chromium.org

Review URL: https://codereview.chromium.org/132493002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@18524 ce2b1a6d-e550-0410-aec6-3dcde31c8c00