text: Title: Lower dimensional embeddings of the optimisation space
  Body: It would be nice to add support for very high dimensional spaces. The idea is that it is probably enough to run your optimiser in a lower dimensional manifold because many of the dimensions don't matter. See for example [Bayesian Optimization in a Billion Dimensions via Random Embeddings](https://arxiv.org/abs/1301.1942).
  
  This could be implemented as a new `Space` type that has a lower transformed dimension than the original space.