Descending through a Crowded Valley -- Benchmarking Deep Learning Optimizers