Small speedups to core.raise_to_shaped().
Small speedups to core.raise_to_shaped().

Avoid forming a new ShapedArray if we already have a ShapedArray.

Don't use the slower safe map() when canonicalizing shapes. We're going
to form a tuple anyway.

Before:
```
In [1]: import numpy as np ; from jax import core, numpy as jnp
In [2]: x = core.ShapedArray((100,100), jnp.float32)
In [3]: %timeit core.raise_to_shaped(x)
4.11 µs ± 30.9 ns per loop (mean ± std. dev. of 7 runs, 100000 loops each)
```

After:
```
In [1]: import numpy as np ; from jax import core, numpy as jnp
In [2]: x = core.ShapedArray((100,100), jnp.float32)
In [3]: %timeit core.raise_to_shaped(x)
207 ns ± 0.131 ns per loop (mean ± std. dev. of 7 runs, 1000000 loops each)
```

google/jax,google/jax,google/jax,google/jax