Fix pointer size mismatch

When compiler starts interpreter and unstarted_runtime, the pointer size
needed should be determined by the target instead of using compiler's
binary mode. Since compiler is only compiled once for both 32-bit and
64-bit, there will be a mismatch for some cases.

Fixed the pointer size used in compiler and interpreter, retrieve
pointer size from ClassLinker when needed.

Updated corresponding test, otherwise there would be check fail which
test the equality of pointer sizes between the template argument and
runtime information.

Test: make test-art-host -j64
Change-Id: I927a24ec79f8f82420133c6996703b940852a1e0
2 files changed