jax.devices() behaves unintuitively
Hi! I noticed some unexpected (?) behaviour in the following code:
```python 
import jax
from jax.config import config
config.update("jax_backend_target", 'grpc://some endpoint:8470')
config.update("jax_xla_backend", 'tpu_driver')
print(jax.devices('cpu')) #prints tpu devices instead of cpu
``` 
I can get the expected behaviour if I do 

```python 
import jax
print(jax.devices('cpu')) #prints cpu devices 
from jax.config import config
config.update("jax_backend_target", 'grpc://11.111.11.1118470')
config.update("jax_xla_backend", 'tpu_driver')
print(jax.devices('cpu')) #now prints cpu devices
print(jax.devices('tpu')) #now prints tpu devices
``` 
I think this may be related the caching of `jax.lib.xla_bridge.get_backend()`. Not sure if this is expected behaviour or a bug. 

I noticed this because I was trying `jit` a few smaller functions on the host vm cpu during a larger TPU computation . I tried using the `backend=cpu` argument and `device_put`, but was unable to obtain the desired behaviour. In the end the only thing that seemed to work was to clear the cache of `get_backend()` reconfigure `jax.config` to cpu.
diff --git a/jax/lib/xla_bridge.py b/jax/lib/xla_bridge.py
index aba3c6615..a292730c3 100644
--- a/jax/lib/xla_bridge.py
+++ b/jax/lib/xla_bridge.py
@@ -144,7 +144,9 @@ register_backend('xla', _get_local_backend)
 _tpu_backend = None
 
 def _get_tpu_driver_backend(platform):
-  del platform
+  if platform == "cpu":
+    return _get_local_backend("cpu")
+
   global _tpu_backend
   if _tpu_backend is None:
     backend_target = FLAGS.jax_backend_target
['jax/lib/xla_bridge.py']