[tilegx] Remove unnecessary "move v0, a0".

    * For TileGX, r0 is used for both return value and arg passing, so
  no need of these unnecessary register moves.

    * Enable more previously commented out code. As we go further, they
      are triggered.
[tilegx] Complete soft-float support for TileGX.

  As we go futher, float support is necessary, no workaround
works instead of full soft-float support.

  FloatingPointHelper & ConvertToDoubleStub are the two major
soft-float class, and there are several other hooks scattered
in MacroAssembler Class.

several other hooks implemented in code-stub-
[tilegx] Implemente two other hooks in crankshaft.

  Also fixed a scratch register collision.

  After this commit, TileGX v8 pass compiling the whole runtime library
and the v8 shell works now:

  [jiwang@bjgwc-5 v8]$ ./out/tilegx.debug/shell
  V8 version 3.19.7 (candidate) [sample shell]
  >

  hello world sample from google works also.
  (https://developers.google.com/v8/get_started#intro)

  [jiwang@bjgwc-5 v8]$ ./hello_world
  Hello, World!